Google Voice, the very cool invite-only calling wrapper that used to be called Grand Central, can now be controlled directly from the iPhone with the GV Mobile app. It's pretty fantastic.
The app costs $US3 and is just designed to interface with Google Voice. You can dial directly out from your GV number (either using the dialpad or through your normal iPhone contacts list), send texts from your GV number, and access your GV number's voicemail.
Text and calls go through properly and voicemail is as close an approximation of your iPhone's visual voicemail as it gets. Fairly accurate transcripts of your voicemails can be sent via text to your phone as well. History is funky, however, since it shows "Unknown" for all my calls. You can control which phone numbers incoming calls dial, and also which phone you want to "call out" from.
If you're a Google Voice user, the $US3 is well worth it to be able to text and call from behind another number. It allows you a layer of privacy, so that people don't know your real number and you can block callers from the main Google interface. The only thing left is to wait for Google Voice to open up to the public.