I think your approach of tossing him in his room and then (calmly, I hope) taking away each and every item he throws about is a good one.
If you're finding this response is not eliminating the behaviour quickly enough, you might try duct tape. (Him to the bed, I'm thinking, rather than each item to the floor.)*
When he gets to that state, is it really necessary that he shower, etc? I'm thinking that it might be wisest to absolutely streamline the process of getting him to bed. What he needs, as you say, is SLEEP. So if he gets there fully clothed and a bit stinky, does it really matter?
But really, what you're doing sounds fine. You're not encouraging or enabling, he's paying a reasonable consequence for his unreasonableness. He will outgrow it. Eventually.
*I don't have to explain that this was a JOKE, right?