Finally got it working after figuring out it is not ideal to fight with two "drag" listeners (your own, and force.drag) attached to the nodes!
Much better to only have your own "drag"-listener and call tick() manually which is the key feature of getting the force graph to position the nodes for you on every new node position on the node your dragging.
Working example: http://bl.ocks.org/2883411
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…