Hi M.,
First of all, I agree, this website is amazing!
Okay, my son is only almost 2 1/2, but I've discovered recently when he's hitting his friends and not sharing and not being nice, that I have to completely remove him from the situation to get his attention. He does not like when I do this, but I feel acomplished because he actually gets upset about it which shows me it affects him. I'm hoping he'll realize that this is the consequence for not playing nicely. I then talk to him about what he did, and ask him if he wants to try again playing nicely, and usually he says yes. I then make sure I'm on top of him just watching and waiting for him to act up again, and stop him in his tracks before he throws another punch. I don't know if this helps at all, or if it's the right thing to do, but it's a starting point for me, and it seems to be working for the moment. And I think that's a big part of it... figuring out what works for you guys! He's a little person of his own now, really, so it varies...
Good luck, and happy holidays! ;)
M.