Is there any way to snap an entire selection to the 3d cursor in edit mode?
Shift+S > Selection to Cursor snaps each individual vertex to the cursor, so the shape is lost:
If you grab a recent build of Blender of r58453 or greater (2.7x up), you can use Shift + S > Selection to Cursor (Offset)
The official commit can be found here. I could not find any documentation but it's pretty intuitive.
The easiest way to do this in blender 2.68 is to open the properties panel (N), and copy-paste the values from the 3D-cursor location fields to the transform median fields by hovering the mouse over them and hitting CtrlC and CtrlV. This does the same thing as the new snapping with offset that's implemented in the current trunk, as stated by iKlsR. My answer will be irrelevant once blender 2.69 sees daylight.
A cheap workaround could be done using proportional editing with constant offset.