Twitter could easily detect spammers - by their follow history, reputation score (eg a google-rank link like SVD of the follow graph), or simple ratios like follows vs followers. It will inevitably false flag some people but that's not nearly so much of a problem.
That is, they don't have to outright ban these spammers, all they have to do is block these people from search results available for #hashtags or @replies. In the case of genuine people false flagged as spammers, they can still get their message out to genuine followers. It's not too much of a loss to be banned from search results and @reply messaging until you build your karma level a bit.
You're absolutely right twitter should fix this and do it fast. It's a goddamn shame seeing a potentially very useful public resource - like adhoc organising around #hashtags - being destroyed by the actions of a few.
tl;dr Twitter can starve out the spammers just by blocking search results.