As far as clicking on the component and moving it,
have you tried using YourComponent->SetWorldLocation() where location is derived from the world mouse position?
I can say for a fact that Comp->SetWorldLocation() will work, you just have to feed it the right location
Rama