+1 for Cycle meter. This app is really nice, self contained, will connect with ANT enabled add on accessories like cadence sensors, heart rete transmitters,etc. It shares via .kml files and uses google maps to display info. You can import routes and compete against friends or against yourself.
It is pretty conservative with battery life as far as apps go but I do have a spare battery reservoir that I can plug in. It did complete the Tour de Cure metric on one charge with power left over. I keep mine on the handle bar and it will announce average pace average mph, currend mph, ahead/behind best/avg/slowest pace, etc. Announcements are customizable. I have a post on page 109 of did you ride today thread that has a link to its output. Or, try here:
https://maps.google.com/?q=http://share.abvio.com/55ef/ccc2/4c8c/272f/Cyclemeter
-Cycle-20120728-0715.kml < edit > Correcting link < \edit >
The one thing it is currently missing is a good profile feature. The included one is a bit weak. However, there is an active design team behind the app and updates have been fairly regular and worthwhile.
All of this said, I will probably be getting a simple computer mounted if I start doing rando again. I'd have to carry too many spare battery packs for the iPhone for longer rides.