PS: This article is based on iPhone navigation apps available in Malaysia.
Switching from iPhone 2G to 3GS finally fill in the missing piece, GPS. With it I can sell off my Garmin GPS and iPhone will be my one and only portable gear, or not quite yet.
I have go thru many navigation apps and to my disappointment none can fully replace Garmin GPS. On the list, the more navigate-able horse are NDrive and Sygic. Both pass the turn-by-turn voice navigation and user interface test, but fail badly on the maps (Malaysia). It's totally outdated! Dating back 5 years I guess. Lucky for me I tried them on my friends' iPhone. Unlucky for them paying USD29.99 for NDrive and USD79.99 for Sygic.


I rule out all apps which is based on OpenStreetMap. OpenStreetMap is big in overseas but too fresh for Malaysia, which translate to incomplete maps. Perhaps in the long run it will be as updated as Malsing with contribution by more users.
At the time of writing, among the three big names (Garmin, TomTom, Navigon) in navigation solutions only TomTom has released iPhone app. I have no experience in TomTom as they are not available in Malaysia ever before. As for TomTom iPhone app, don't count on it to be available in Malaysia map anytime soon, or perhaps never will. I would rather pray and bet on a Garmin iPhone app. A seemingly impossible chance but still higher than TomTom.

Recently a developer has released an app, ImgOsm, that can read Garmin IMG maps. He claims that Apple refuse to approve his app on app store, and such he releases it in Cydia. Going thru ImgOsm, it seems that Apple disapprove it more than one (Garmin) reason. Crash occasionally, terrible user interface, no turn-by-turn voice navigation and an asking price of USD30! At the time of writing I still can't get Malsing map to run on it.

ImgOsm
What's left is Google Maps. iPhone built-in Maps is based on Google Maps. It's not as updated as Malsing but definitely better than NDrive and Sygic, though occasionally spell the street name wrongly. Google need to hire more Malay fluent engineer and translator. Anyhow without turn-by-turn voice navigation, Maps is inadequate for driving use unless you know the area well and only need to find that particular street.
NaviCat fills in the missing feature, turning 2D Google Maps into 3D turn-by-turn voice navigation. A voice navigation that doesn't pronounced the street name but display it. It supports auto reroute too (not tested). The only scary part, there's only one road heading to Rome! Either in 2D or 3D, it will only display the route you taking, without any other streets at the side. Whether or not you can rely on such "revolution" navigation is really down to personal preference. I still prefer an actual map.

Left with one. Interestingly sometimes free software performs better than paid ones. Again it is not approve by Apple. That's right, you will need to jailbreak iPhone in order to use xGPS. In fact xGPS is the very first turn-by-turn voice navigation app, long before any of the above got into app store. It's based on Google Maps. The best part is you can selectively download Google Maps, various zoom levels and view it offline. I downloaded 8 zoom levels of Klang Valley and Singapore maps, which takes up 190MB storage space. There's also the xGPS Manager (free) which you install on desktop (Mac, Linux, Windows), download and view the maps, upload to iPhone and backup from iPhone.

However there's still many limitations on xGPS to fully replace my faithful Garmin.
For now if I am driving in Klang Valley where I am familiar with the roads, I will use iPhone with xGPS or Google Maps to find my destination. Likewise I will keep my faithful Garmin in the car, just in case iPhone fails the tasks.
[Updates: Hurray! Tom Tom has released Malaysia and Singapore Map version. You can read the review here.]