How to make characters hand/pass each other objects
In the same way that you've already created a Child Of constraint for the first character, you can simply create another Child Of constraint for the second character, and point it to the same object as a target. Only, the second character's Child Of constraint should have its influence slider set to zero, and keyframed at zero for whatever length of time that the first character is to have the object in hand. Likewise, the first character should have the Influence slider for its own Child Of constraint set to be fully active, and also keyframed as such, for that same duration. At the time that the hand-off happens, you simply keyframe the influence of both Child Of constraints to have reverse influence from what they both had one single frame beforehand. This works very well. The two characters do not even have to have anything in common regarding their rigs. They certainly don't need to have rigs that are exact copies of one another. They simply each need their own Child Of constraint, and each of them needs to point to the same object. The only thing that changes is the influence.