I gave a real try today to use the iphone 3GS as a GPS, and I have to say, it's rubbish.
I tried to use Memory Map, and I tried to use the Groundspeak geocaching app, and they both suffered from a major problem. The "distance to cache" doesn't update often enough. So I found myself 100 meters away, and after a bit of walking, that changed to 70 meters, then after some more walking to 40. The countdown is just too poor to be good for geocaching. You don't know when you're near the cache, and it's difficult to work out which direction you need to be going in.
In addition - the Groundspeak geocaching app doesn't work when you don't have internet access, and that could be a big problem in some areas.
I can't say how other iphones might perform, or other apps. But I'd have to be in real trouble to fall back on the iphone 3GS.