Don't get so dis-heartened mate, you'll get there.
I mix my runs up a lot. i do a lot of 5 milers, spartan run, sprints and hill sprints etc. then once per week-2 weeks i'll do a test day. (and there's usually a 16-18 mile walk/run across the moors with a 40-50lb bergen on the weekends too, to be finished in under 4 hours)
,it took me almost 2 months to get my time down from 22 mins to 17-18 mins (this was coming off an injury and i couldnt run/train for about a month or so.
Don't just run 3 milers. mix it up.
try the spartan run: run 1 mile, then do 100 press ups (in as few sets as poss) and 100 crunches or sit ups (same again, few sets as poss)
Run another mile, then do 75 press ups and 75 sit ups. run another mile and do 50 press ups and sit ups. its hard but good
Circuit training helps too, lots of burpees, squats, squat thrusts, tuck jumps etc. (i love chin ups/pull ups and press ups too!)
Keep at it mate, don't let it get to you. i'm 34 by the way, don't let an old man beat ya!