After import, try this:
The object should appear in the center of your grid.
Note: The default Grid Floor (visible grid) is merely a 2D representation of a very small part of the actual grid, centered at the zero point (X=0, Y=0, Z=0).
When you Shift S > Selection to Grid, the selected object's origin ('center' point) will snap to the nearest grid division (a position in 3D space where all three (X,Y and Z) grid lines intersect). The object geometry (the visible object), will move with the origin, maintaining its position relative to the origin.
By default, the origin is normally in the center of an object. It is the rotation point and location, displayed here:
The geometry, and origin, of an object can be moved independently of each other, and this can be confusing because the origin gives you the location of the object, but the visible object (geometry) can be in a different location!
In your case, the imported .obj objects were not near the Grid Floor and Blender had no information about an origin, so it placed origins for all the objects at the zero point (which happens to be one of the points where all three grid lines intersect). And then, of course, with Shift S > Selection to Grid, nothing happened.
ideasman42 suggested: 'Origin to Geometry, then snap the objects to the grid', which works - but they were still not where you wanted them because they would have snapped to the nearest grid division. At this point, instead of Shift S > Selection to Grid, you could have used Shift S > Selection to Cursor (assuming the 3D Cursor was in the center).
According to what you said, I thought you only had one object, and so I suggested you use: Origin > Geometry to Origin, which would have worked perfectly but… :)
I hope this clarifies things a bit and isn't too confusing.