Being able to "bend" the gradient along a path or something would indeed be helpful. And I totally agree with you: adjusting the mesh can be a bit tedious... and confusing as well. Also, if you aren't careful, the points and lines of the mesh will show in the colored shape.. well, not the actual mesh lines when you select the shape, but the colors you insert into the single points and that follow the grid lines. Gah, it's difficult to describe. But I don't want to sound like I'm complaining. Like I said, I'll have to invest some time to get the hang of it.
Picking colors from photos, in my experience, rarely does the trick. Just look at many beginners' self portraits that are grabbed directly from a photograph. The colors usually look awful and so does the line-work and other details that were simply grabbed from the reference. There are so many subtle nuances to an object's color, from light sources, shadows, etc. You only pick one single color value per mesh point and there's quite a bit of space between these points, unless you're making a really high-res mesh... which then, of course, results in tons of color points to deal with. I think it's better to pick a few colors and then adjust them to fit your image in general. Don't try to recreate the photo in down to the tiniest detail.