Moving components between Actors(AddOwnedComponent and RemoveOwnedComponent)

Is it possible to remove a component from one actor to assign it to another? On some searching I found the functions AddOwnedComponent and RemoveOwnedComponent in the AActor class, but from the docuementation I come to know this is not common practice. RemoveOwnedComponent is also not called from within UnregisterComponent, which I was expecting

I am creating a small FPSDemo, where a player can pick up a new gun by walking over it. I want to implement the functionality by simply interchanging the gun components in the player actor(The player actor is added a gun component dynamically) and in the pickup. If this is not the best way to implement it in Unreal, what is? If anyone can shed some light on this it would be really helpful

Thanks in advance!