Depends on what you want to do. Dragon Dictation and Vlingo work great. I use Vlingo for text messages and emails. You can set it up to begin as you open the app and recognize end of speech. Fewer steps than Dragon. Oh, and I use Vlingo to make calls, added bonus.
If you still have iOS 5.0.1 on the iPhone 4. Jailbreak it with redsnow and use a proxy server with Spire. I have the microphone on the keyboard on my iPhone 4 but I believe you need Spire/Siri or Siri dictation to have it appear there. Otherwise your outta luck.