Sure we should. As soon as you come up with a surefire way of getting rid of spam, I'm sure SE will implement it (and you'll be set for life). In the meantime, they're doing what they can.
There are already measures in place to block spam. What we get is a tiny proportion of what is trying to get in. As for the ToS, what makes you think the spammers would care? It is already forbidden there:
Spam, personal attacks, and abusive language do not have a place on the Stack Exchange Network.
[...]
Under no circumstances will Subscriber use the Network or the Service to (a) send unsolicited e-mails, bulk mail, spam or other materials to users of the Network or any other individual
So, sadly, we're already doing all we can. Seriously though, if you do have a clever idea to block more spammers, please post it on the main meta or here. I'm sure the devs would love to have a better solution and I know the rest of us would.