In ArcGIS Desktop, I've only ever done this with point vectors—I'm not sure how you'd do it with polygons or line features. Unfortunately you do need Spatial Analyst, though. There's a tool at Spatial Analyst Tools\Extraction\Extract Multi Values to Points and Extract Values to Points. Extract Multi Values to Points is better because it lets you rename the z field name that you are extracting your values to—Extract Values to Points doesn't let you do this. I have trouble doing this in ArcMap (the tool crashes), but it works fine in ArcCatalog.
The (free) Hawths Analysis Tools extension for ArcMap had an Intersect Point Tool but development of the extension was discontinued a couple of years ago. It's been superseded by the Geospatial Modelling Environment, which I've never used.
SAGA-GIS (freeware standalone software) has two functions at Shapes - Grid\Add Grid Values to Points and Shapes - Grid\Add Grid Values to Shapes that can probably do what you want. This is the description of the Add Grid Values to Shapes tool:
Spatial Join: Retrieves information from the selected grids at the positions of the shapes of the selected shapes layer and adds it to the resulting shapes layer. For points this is similar to 'Add Grid Values to Points' module. For lines and polygons average values will be calculated from interfering grid cells. For polygons the 'Grid Statistics for Polygons' module offers more advanced options.
SAGA is your best bet, in my opinion.