Q:

Drag object stick to mesh faces -partly working - unless I add as a child... Three.js r60

https://dl.dropboxusercontent.com/u/50584977/index2b.html
(Can't seem to get three.js examples to work on jsfiddle)
If you look at the above example, and you drag one of the cubes across the sphere, it 'sticks' to the sphere, and rotates to the face normal. ( Sort of, unless you try on the back side of the sphere.) 
Problem:
https://dl.dropboxusercontent.com/u/50584977/index2.html
All that is changed is I'm adding the dragged cube as a 'child' of the sphere when you let go of the mouse.  So drag a cube onto the sphere, then let go, then try dragging the same cube again, see what happens. 
It seems to get worse if you rotate the scene, then try dragging again. 
Why is it doing that? 

A:

When you add one object to another, the child's position, rotation, and scale become relative to the parent's.  So, when you add your sphere to a cube, you'll need to adjust the sphere's position first.  Conceptually, the simplest way to do this should be to just subtract the cube's position from the sphere's.