Somthing similar to this function in ZBrush
(Pertinent section starts at 1:36)
I agree, that would be very useful. Current workaround is that when you insert a primitive onto a surface, the gizmo is located at the base of the object and Green axis is lined up with the snapped surface normals. Select the gizmo and pin it in location - you can now delete the sphere you inserted and the gizmo is where you wanted it.
Awesome. Thank you