How to snap an object to another without moving origin?
Select the cube you want to move, go into Edit mode, turn on snapping to vertex, select all vertices and choose one as the active by clicking on it, change pivot point to active element. You can now snap the whole cube from this vertex to one from the other cube.

To snap the center of the cube to the other cube, change pivot point back to median pooint. Also snapping target to Center instead of Closest. Play around with it, you can do it all just by changing pivot point and target options.