Aww sorry you are dealing with this. It can be so disruptive. It sounds like you are doing every thing correctly.
I have found what works with my 3yr old is time out. not just time out but 3 min time outs without talking or arguing and her time does not start until she is quiet. And consistentcy (sp?) Let him know what will happen if he throws things..time out...every time...The first few days the poor kid may be in time out more than he's not but he will get the concept..
On fits well just ignore him. Walk away, act as if he is not even there. If he is getting any kind of pay off for having fits he will continue the cycle.
My 3yr had the issue of peeing in her floor EVERY time I told her to pick up her toys.. I always reacted with.."why did you pee in the floor?" or "wow bad choice, big girls dont pee in the floor" She knew she got a reaction out of me for it. My hubby told me to try not reacting...I was like huhhh...the next time she did it I just totally ignored it. I didnt say a word about it. she finished picking up her toys (in her wet panties) and when she was finished I gave her dry clothes still without saying any thing..she put them on by herself and put the wet ones in the basket...To this day she has not peed in her floor again. YEAHHHH...
Good luck. You are going to be fine
Shavon