I used to have that problem too. Go to a locksmith. Tell him your problem and ask for a can of synthetic lubricant. If he cant suggest one email me and i'll get you the name of the one i use.
Put a cloth on the floor of the car and spray the lube in for a few seconds. Put key in and out for a while then repeat the spray thing. Do this until the barrel works properly. I haven't had a problem for about 4 years now but the synthetic lube is the key because it doesn't attract dirt and further gunk up your barrel.
Hope it works for you to.

