For your iOS project you could use Route-Me (link). This is an open source framework that pretty much provides the same functionality as MapKit, but allows to integrate different map sources (e.g. Open Street Map, Cloudmade etc.). As far as I know, this is the only alternative you have on iOS.
For Android, there are various alternatives that allow you to use alternate map sources. See this link for a good list of options.