My son does it too. Drives me nuts. We have consistently said 'no throwing' or 'if you want to throw, throw this - and give him something soft or take him outside with a ball (not always possible and falls into the pain in the butt category).
But today I had a mini breakthrough. He was having a strop about something and threw everything he could lay his hands on. And I ignored it. Didn't say a word, just carried on playing with my other child. Eventually he threw a picture frame (with glass in it). I then said: you don't throw that. it will break. Now pick it up. He initially said no. So I said pick it up or its the step until you can calm down. So he took himself off to the step and sat there for about a minute, and then picked up the picture and the throwing stopped.
PRobably a fluke though. It's when he throws things at people that you can't ignore it.