The theoretical rule at our house is "no grabbing." When grabbing happens, I try really hard (not always successfully) not to touch the treasure, but I get down close to my son's face and ask non-judgementally, just curiously, "Did you grab that fork?" He's still honest, so he says "Yes." Then I remind him, "Oh, but we don't grab - go ahead and hand that back to Johnny and then you can tell him that you'd like a turn too." Most of the time, he hands it back, and then declaims loudly in Johnny's face "MY TURN!" (This can lead to a whole new discussion, but at least the grabbing is over.) If he has trouble handing it back, I try to keep him focused on the discussion of not grabbing, see how Johnny's face looks sad, you can have a turn later, etc etc. One of two things happens then: either he hands it back after some great patience on my part, or Johnny doesn't really care or has moved on to another toy and I let it all drop.
Having said all that, I get pretty tired of all this negotiating, and my 2 year old is likely to be an only child. I want him to have the opportunity to work it out directly with his friends like he'd have to with a sibling. So last week, at our regular playdate with a girlfriend, I didn't jump in unless something was drastically unfair or verging on mean. And guess what - they worked it out EVERY TIME in less than half the time it usually takes when I intervene. One would grab, and they'd both look at me for intervention. I'd stay nearby but look really interested in the scene out the window, and only watch them out of the corner of my eye. Another few seconds of squacking or wordless negotiation between them, and then they'd both move on to the next step of their game. They had a much happier playdate, and I was more relaxed too. So while I'll maintain the no grabbing rule with strangers and with parents and sharp objects, I'm planning on letting him work it out as much as possible with his close buddies from here on out.