Given your description, I suspect you have either something impeding the free movement of your FD (front derailleur) or a friction issue along the cable.
First take a look at the spring on the FD. If it's badly gummed up or sticky, give it a cleaning with a solvent (wd40, mineral spirits, etc) and a few drops of light lube (tri-flow or similar is good).
Now take a look at the cable guide under the bottom bracket. If it's crudded up enough, the cable may not move freely and reliably under derailleur spring tension. Also, the FD cable makes a sharp upward turn under the bottom bracket. Over time, the cable can cut into this plastic guide and cause the cable to hesitate. Clean or replace as necessary.
I suspect either of the above may be the culprit. If not, you may excess friction in the section of housing running from the shifter to the cable stop on the frame. If your cable stop is not fully enclosed, you can easily slip the housing down to expose the cable for inspection and lubrication. To do so, shift your chain onto the large chainring. Then, without rotating the cranks, release all cable tension via the shifter. The chain will remain on the large ring, but there will now be enough slack to slip the cable through the opening in the cable stop. Once you do that, you can tend to the cable. If the housing is in poor condition or the cable is frayed anywhere, it would be best to to replace both.