i use cyclemeter and it works fine for me. i've used it on 30-60 mile rides without it draining my battery much. this is, however, when i'm not using it to FIND my way. i already know where i'm going so it's just running in the background tracking my progress. i would imagine that it would drain much quicker if i had to use it actively throughout the ride.
one thing that sucks about any GPS app however (regardless of which one) is that if you hop out of service, it doesn't work anymore. i've had that happen twice where it just makes a straight line from where it left service to picked it back up... throws off the whole thing