iMapMyRun has a lot of promise. It is based off the website (
http://www.mapmyrun.com/) which is AWESOME. The website lets you map out run ahead of time using Google maps. The "lock to roads" feature is really nice. The website allows you the ability to see other people's running routes around your area, the ability to log your runs, times, etc and the workout calculator which will calculate speed, calories burned, etc if you input distance, weight and time. If they add most of the website's features to the app for easy smartphone access, I don't think any other app will be able to compete.
Having said all of this, the app itself isn't quite there yet, but it appears they are making a real effort to develop it. I think that if they integrate the mapping feature directly into the app itself (the website is a nightmare to use on a smartphone), and they can work out the kinks, this app will beat the others hands down. I say that because none of the other apps even seem to be considering adding the "pre-run-mapping" ability. So like I said,
IF imapmyrun does indeed add that functionality it will be in a class of its own.
If you'd like the idea of having an app that will do that as much as I do, please go voice your opinion here on my post:
https://mapmyfitness.tenderapp.com/discussions/android/60-map-run-before-running
FYI I don't even think you need to register to post (I didn't).
One more thing to note: MapMyRun accounts are free. I'm sure there are some minor limitations b/c they do sell paid accounts as well, but when I looked, the paid accounts seemed to just unlock a bunch of really advanced features that I wouldn't care about anyway (although a really really hardcore runner may).