The other Adam probably knows more about this stuff than I do. Tower triangulation gives the iPhone a location lock much faster, and obviously works indoors. But I don't think it's necessary.
AFAICT, there are some GPS apps that use accelerometer inputs as a cross-check on the location inputs (I know Motion-X GPS offers this as an option), but I don't think any of them really require it. OTOH, I've read of a non-nav app that uses the accelerometer only for measuring a car's performance, and it's been found to be as accurate as fairly expensive single-purpose testing equipment. Although I imagine there would be more "noise" when using an accelerometer on a bike that would confound that use. I do believe the iPhone's accelerometer is a MEMS chip.
I have the iPhone 3G, so I have no idea how well the compass works. Nav apps can and do work out your heading based on a series of trackpoints even without a magnetometer.
One Achilles' heel for all bike-computer apps is altitude. From what I understand, Garmin's own devices don't do a great job on altitude, and use desktop software to apply after-the-fact corrections. I know of one iPhone app, GPSies, that does after-the-fact altitude correction via the GPSies website; I'm not clear on this, but I think there are a couple others that will do on-the-fly correction internally by referencing online sources.
I've recorded tracks using a couple of iPhone apps and am going to try a third today. So far they've overlaid very closely over the road maps (though I noticed one spot on a bend where I seemed to be riding through a field). My guess is that I'm within 10' 95% of the time. I have not tried this with the phone function turned off, so I can't say how accurately they'd perform in the absence of tower data.