That’s a good example of why blender is so cool.
It’s a full 3d app, you have a lot of options. Not just what’s built in or intended.
Since ages, we’ve been using ShrinkWrap with retopo.
So you enable face snapping (and alternate between: ProjectIndividualElements On/Off, depending on what you’re doing. This because that setting alters the Extrude vert/edge behavior)
With the ShrinkWrap Modifier, if source verts get too out of whack and it get’s a bit glitchy, you just need to apply the modifier (in order to bake in the mesh) and create again.
Copy the modifier, Apply the top one. Done. There’s scripts that automate this. Wazou had it, iceking with IceTools etc.
I actually prefer having it as a modifier (you still need screen space snapping on)! It gives me more options and freedom. I can isolate parts of the model I want to be snapping (with vertexGroups). This comes very handy when doing mouth, eyes, etc.
Edit:
Not to say we don’t need some extra tools. Like the one Pablo Dobarro made a prototype of.
Or the PolyQuilt tool.
And more display options for better legibility.