Attaching weapons to hand very tedious

Would rotating the root bone in an animation work well? Is this REALLY the way its done? You guys should totally make this way better. There might be something I dont get, how do the pros do it where they can have really complex animations. And also how would creating a socket in the selected mesh help?

IDEA:
What if instead of the preview mesh moving the socket, it moves the selected mesh and when finished it saves the location and rotation of that specific preview mesh in the preview meshs class and then when attaching the mesh to that socket it would get the information from the mesh and applying it to the attaching process so that there could be custom attachments for different meshs (and skeletal meshs).