K.H.
I think you got some very good advice from Sue Ellen. I would follow her approach. It is not necessary for you to end your friendship, or your childrens' interaction. You all have valuable things to learn from eachother. Your friend will benefit just as much as her son from your firm, yet pleasant, corrections of his behaviour because you will be modelling effective parenting. I am not suggesting you send him to time out, but rather give him the words he should be using to express himself (and your son as well) so that they more readily learn the concept of sharing and taking turns. It is important to remember that this boy is not an inherently bad child. He just hasn't learned how to work it out yet. This is extremely common.
For ex., you say (when the first snatch occurs) "Oh, would you like to play with this toy too? Well, Shawn was playing with it first and we don't snatch, we ask nicely if we can have a turn." Then say "why don't you ask Shawn if you can have a turn too?" And if your son says no, that is okay. Say to the other boy "Well, I guess he is not done playing with it yet, but when he is you can have your turn" and then encourage your son to let him play with it for awhile. If he still says no after a bit, tell him that it is important to share with our friends and that he will have to give it up after a couple of minutes because that is what is fair. This will take a lot of back and forth and a lot of communication, but it is effective. If it still descends into a major conflict, put the TOY in time out and tell them it is in time out because they cannot play nicely with it. If the other boy gets so mad that he starts hitting, pinching, etc. Tell him more sternly that that is absolutely not okay and if he does it one more time you guys won't be able to continue to play together and you will have to go home. And then do it if it happens...
...and then schedule another play date to do this whole process all over again.
If it was his own toy that the boy snatched back, this fact should be respected while at the same time correcting the behaviour. You tell your son that the other boy wanted his toy back so he should find something else to play with or wait for his turn. And you tell the other boy, you understand how much he must like his toy, but it's still not okay to just snatch it out of someones hands. He must use his words, and you hope he will let your son have a turn with it soon because the best way to make/keep friends is by sharing (or something to that effect). Bringing a toy you know the other boy likes (like a special car or plane or something) for them to trade is another effective approach when the conflict starts.
My son is almost 3.5 and was a major snatcher. Up until he started preschool last fall my approach was to just tell him "No no, you can't just take that away from him/her." and then I would give the toy back to the other child (which resulted in meltdowns). But it just kept happening over and over. From watching his teachers I learned the words that needed to be spoken in these situations. And this, together with consistent correction has nearly comepletely stopped it. My son plays very nicely now. I couldn't be more grateful for what I learned from his teachers and other parents.
K.