something like this would be *very* useful, maybe you wouldn't need to select the target surface either.
as you are moving a block about if a modifier key is held down, then a simple mouse ray selection can be used - snap the object to the plane defined by the surface the mouse is point at.
I used this a few years back on a project and it worked really nicely !