First of all, your ad groups should be tightly grouped. I have used many programs. However, one free one is Adwords Editor. It works pretty well once you understand how the Keyword Grouper engine works. It will take some tweaking, but it is worth it (because it's free).