Well, I think by redirecting son #2 to Toy A and giving toy B to son #1, you are going to exacerbate the issue. Son #2 is old enough now that redirecting so #1 can have the toy is no longer the best choice IMO...
We are struggling with similar issues, yup I think it is a 3 yr old with a closely spaced sibling thing. Ours are 37 mos and 14 mos.
There are going to be meltdowns/tantrums. On both ends likely. Try to remember that crying is okay... likely the toy is not the issue but there is an emotional need. Say "I understand that you are angry, but you may not take toy B from son2. You may choose another toy or wait your turn." (insert meltdown). "I know you are mad. I will sit here with you but you may not steal toy/hit/etc". (let meltdown happen, and only restrain to keep other child safe if needed). After meltdown, discuss. "You were sure upset. I feel frustrated too when I can't have what I want". (may retrigger meltdown. That's actually okay. Remember it is a heart issue not a toy issue. Sit near, or hold him again if that's what he wants). He will feel better, it will feel like forever but what he really needs is to feel heard, not the actual toy. Make sure to hug him after