Waze automatically downloads maps for your most common routes and your neighborhood (or your whole city depending on how bit it is).
It is not perfect, but I never had any problems with 3g holes and stuff like that.
Plus, its free and it doesn't only show the map, but also the current trafic on each road always taking you through the fastest road
www.waze.com