Like many of the other moms, I would agree that this is not abnormal for a three-year-old boy. We have twin boys who are 4 1/2 and for us, 3 was much harder than 2...and 4 isn't much better! A little warning would have been nice on this.
We have very good days, then we have unexplained meltdowns, name-calling, hitting, throwing stuff, whatever. With one of my sons, it gets a lot better when we are able to give him more attention...even if it's assigning him chores to do! He loves to help around the house, he loves to make things (draw pictures) for other people, and enjoys working toward a goal. My other son, I haven't quite figured out! They are very different, but both can be the sweetest, most loving people, and I have to remember that during the tough times. (I, too, wish for my sweet boys all the time!)
Both have a hard time accepting "no" for an answer when they want to do something. We have always said no, just somehow when they turned three it triggered tantrums. We are still saying it!
One food item: we did learn to stay away from ice cream at night. Don't ask me why, but that particular dessert triggered ugly, ugly behavior. Once we eliminated that in the evenings, it really helped. During the day, it isn't a big deal. So I think there is a lot of sense in watching diet closely, as another mom suggested. We're really careful about the HFCS and I try not to buy anything with that in it. Obviously, it doesn't cure all problems! But you may have some kind of food thing like that, that isn't helping.