I've tried your solution but it doesn't seem to be working. That, or I am not doing what you suggested correctly (which is more likely the case.)
I understand that the cycle will have a trigger and that works. It's what needs to be set as a "swap set" that I am confused about. I've tried only having my cycle as both a trigger and a swap, and having it with the default arm group, and neither seem to be working.
What seems to be happening now is that the cycle plays, and his default arm stays (same problem as before), but his hand now disappears entirely.
Thanks for trying though!
If you knock up a skeleton puppet demonstrating the issue and export it, can have a look to see if something easy. Its often easier to tinker than explain.