I have always been a great fan of ModRewrite ever since I mastered regular expressions. But one thing I found when move site recently was that when I droped the use of a few rules that were for links I had not used for ages I got piles of 404s.
So maybe rewriting bad urls to other pages it not a great idea, because search engines like Google never drop the old links. This is where I believe most of them came from. The results are lots of identical pages in Google. Not exactly what we want. The solutions is to use [L,R=301]. Like this:
RewriteRule ^(t*)button(s*)(/*)(.*) /toolbar_button/$4 [L,R=301]
I used to have a folder called tbutton not toolbar_button and so when I made the change copies of both were put in google. The R=301 forces Google to the new pages (301 means the page has been permanently moved) instead of the old, these then get removed with out loosing all our hard earned page rank. The L by the way means it is the last rewrite that happens to the link. Drop that if you need to.
So that is my solution, there might be a better one. But while ModRewrite is the "Swiss Army Knife of URL manipulation" I am going to use it.