I use Swype. It's not on the market. Just google Swype, go to their page, sign up for the beta and download. It's free.
I paid for flex t9, because I missed the free offer from Amazon. The voice recognition works great, but Swype works better with Swyping. Swype uses google voice search. Flex t9 uses nuance's dragon voice recognition - which is supposedly the best voice recognition available.