I have an only child...boy, now 4 1/2. We've been through the same thing. He can be the sweetest child. Everyone loves him! But when he gets upset, look out. We did time-outs forever (consistently) and he hated them, but they did not work. We took toys away... that did not work either. (We stuck with that too...almost every single toy was taken away!) About 6 months ago we started the stop-light system with him. Green- everything is good, yellow - a warning, red - loss of privileges. He does everything he can to stay off red. When he is on red he is not allowed TV, going outside or going to friends' houses. I don't know if your son is too young for this yet, but its worth a try. We've also taught him to take deep breaths when he is upset and count to 10. And since he's had similar difficulties at school his teacher and I have written social stories for him which have helped. When he stays on green all day at home or school he can go in the basement and pick a toy to bring back up (yes, there are still toys down there from our days of time-out and taking things away!)
If you think your son is a little too young for the stoplight system, there is a book out there called 1-2-3 Magic. It is a time-out based system, but many of my friends have had good success with it. Good luck!