My experience is that I came a really long way by doing mostly aerobic work, running high mileage, tempo runs, etc. It got me down to the 30 minute range. Once I began to maintain those things and started to add in a session every 10-14 days of what I would call "speed" (relative to a 10k runner) such as...
3 x (8x400) in 66-68
5-6 x (6x200) in 31-32
4 x (600,400,300,200)
6x400 + 8x300 + 10x200
Things like this that were fast, but not killer, ended up helping me get down to under 29 min, which was a huge breakthrough for me. I had always felt like I was stuck, and was strong but not able to really feel fast - and these are the kinds of things that changed that for me.