I made this for someone else but you can have the knowledge too.
Toggles with constraints allows you to have a single mesh (gameobject or bone) transition cleanly from one bone's position to another without having a duplicate appear/disappear where you want it to be. Here's the tl;dw:
>put your prop on the avatar root at 0,0,0
>make empty gameobjects on the bones you want to transition an object to and from
>put a parent constraint onto a prop with the two gameobjects as the sources
>switch one source's value to 1 and the other to 0
>press the zero button
>move the gameobject into position so the prop is in the right spot
>swap the sources' values around and position the other gameobject so the prop is in the right spot
>make your toggle animation switch the values from 0/1 to 1/0 to move from gameobject position to other gameobject position
>give the transition a small, non-zero duration
>do some other fancy stuff relevant to the prop
>enjoy

https://files.catbox.moe/bsk1l4.mp4