2 hours is a LOT of time for a game of Thunderstone. Going through 20-30 monsters isnt so hard...
I see two possible problems. You may have "mechanical" problems, or have little experience with building decks.
Maybe you arent using your time efficiently. Some of the players in our playgroup couldnt get used to shuffling their library/planning their turn during other players turns. This is a great way to make games shorter. Some of out players just picked up their new-drawn hand when they were supposed to make their moves, making us all wait till they make up thier mind. The whole point of having the draw step at the end of the turn is to give you time to think about what youve got before its your next turn :) Sure, some of the other players may kill some of the monsters or make you discard cards, altering your plans, but accomodating for these changes once youve done all the math earlier isnt such a problem.
The game might be drawn out if you wait till you can kill a monster and your decks arent very good. Maybe that is your problem?
Deckbuilding is a tricky process. Most people think its about adding the coolest things to your deck, but that isnt the case. The more cards you have in your deck, the smaller the odds you get a hand that you want. If your deck has 6 torches, you may get all of them on one hand! But if your deck had only 6 good cards, you would get the perfect setting each and every turn!
So get rid of those daggers, iron rations and crappy heroes! There is a card that lets you discard crappy cards while in the village - use it! It's a must-buy! Always consider the ratio of heroes/food/equipments and spells in your deck. I know that halberd or feast is just sooo cool, but you also need someone to wield/eat it!
Also remember - each beaten monster adds to your deck, lowering the average gold and attack you'll get on your turn. Make sure you have a slim, strong deck before you start the serious beating of monsters.
For our group, the game starts slowly, with a lot of buying, turning into a slaughterfest near the end. But all in all, if we all think during other people's turns, we tend to play 30-60 min per game, setup and teardown not included.