Advanced gradients in PS

I see a ton of sites (a ton of 2a sites mainly) that use multiple gradients on the same shape, usually a shape drawn by the pen tool. Well here is the thing, I have been using gradient overlays but it seems the only way to really do advanced gradients is using the gradient tool. When I Ctr-Click the layer that I want the gradients to be applied to this selects the object in the layer. But when I use the gradient tool, a lost of the time the selection isn’t perfect and the gradient misses some of the shape. DOes anyone know how to effectivelyl use the gradient tool on irregularly shaped objects?>

Thanks

Mike