With enough hard drive space, and if you keep large WPA password lists, you may find pyrit passthrough to cowpatty the way to go. Also, batch mode is a good choice since pyrit will take the password file, import it, and store it for later batch processing against your SSID.
A bit light on hard drive space? Maybe you can employ crunch ( /pentest/passwords/crunch/crunch ) to generate your passphrases and pipe that into pyrit, piping that into cowpatty.
Best speed? Yeah, that depends on a few things as well. Top speed, at least on my modest system, has been to use pyrit and the attack_passthrough option. It's buggy, sadly, and you will see segmentation faults until pyrit's author fixes it.
Just my $.02 - hope others around here will chime in as well.