You cannot really drag the 3D cursor or snap it in Blender which is not ideal.
So I thought one could do this:
Start (via pressing a button/key)
make new empty at 3D cursor position
set 3D cursor location = active object location (the empty)
Stop (via pressing a button/key)
delete created empty
Exit
The idea is that when I move the empty the 3d cursor will always follow it. One can snap the empty to a vertex in object mode easily and thus positioning the 3D cursor.
And then the user is satisfied with the cursor position a key is pressed to exit the command chain the empty will be removed and the 3D cursor remains where it got moved to.
Is this a possible idea and would one suggest a better way?
Please excuse my brutish attempt.