There's another option. Scale has lots of subtle 3D control. If only an edge is selected, tugging on the top/bottom, dead-center handle will only raise/lower an end. Tugging at one of the selected edge corner handles would lengthen/shorten the edge along its vector, etc...
Selecting a face would be similar.
Face and edge combinations can be scaled. Works swell while in hidden geometry.
For the greatest control, orbit around the model so the cursor tugging on the handle is in front of some geometry. The closer the geometry is located the better. That's one way to harness inference - using neighboring geometry to finesse/steer the handles. Otherwise scale may seems to go wacko.
Smoove and Smoove+Shift work, and an offset can be set for controlled, incremental bumping. But I don't use it much. Fine-tuning shapes often means tweaking as little as one edge at a time.
And of course tools like nudge.rb, nudge bits and pieces. That's real handy.
Using scale to move vertices like this means some initial 3D movement of geometry first to get a 3D bounding box.
http://www.sketchucation.com/forums/scf/sas/Ruby/kitty.jpg