R.C.
We have a phrase around here: "Mommy's voice is like the wind."
It just means that the voice of the Mommy is always weaker than the voice of others, because we trust Mommy to love us even if we don't obey.
When I had a similar situation, I found that my friend just wasn't ever going to follow through and be firm and solid about it, so I decided I would risk offending her to fix the situation. I simply took the correctional behavior of our Montessori teacher, got down at the other child's level at the FIRST SIGN of the behavior, and face-to-face said matter-of-factly, "We do not play rough. No, thank you." And I would wait until the child showed some sign he'd heard me before moving. Rinse. Repeat.
The most crucial thing is to intervene BEFORE it escalates- we can see the signs it's heading there before it's too late. After 5 or 6 stops, the child will be absolutely be on some higher awareness, but won't necessarily adopt better behaviors immediately.
The voice of another mother is stronger for them than their own mother's and a quiet, matter-of-fact statement with *few* words, especially repeated, is consistent and thus powerful.
Couple this with at time-out chair for really tough cases, and the consistency wins each time. Punishment isn't as powerful as consequence- and if you just stay on top of it it turns the situation beautifully!!
One other thing: your son should know the power of his voice, and unbelievably, at our kids' school, the words, "No, thank you" are STOP words because they are consistently used and respected. Teach your son that he can say, "No" to another child being rough with him, and if you see it's not heeded by the other, you go eye-level and tell the other child that your son said, "No," and say, "'No' means stop."
Again, given consistent attention, this will empower your son so that his confidence may influence how other children treat him, and other children learn respect as a side-effect!
Best of luck!!