It's a combination of turn speed, move efficiency, and delays, really. You usually don't realize it during solving, but you have a lot of delays between steps, and cutting down on that will help you a lot. Leyan Lo pointed out to me a while back that if you take just half a second after each step in Fridrich to look for pieces, you have already wasted 3 seconds, which is a lot for someone around the 20 second mark. Getting your delays down will come with practice - right now you might take a second or two to recognize a sune and put it in the right place to start the algorithm, but as you get better you will be able to see it in a fraction of a second. You might even be able to go into the algorithm immediately because you were watching the last layer pieces during the previous step and could predict that it would be a sune.
That's the way cubing is in general, I think, you unconsciously learn things just by practicing, often without even realizing it. Then, once you know them and have mastered them, you find it hard to believe you were ever as slow as you were! I would have to deliberately waste time to solve a 3x3 in a minute, even with the beginner's method, and yet I know that at one point that would have been an excellent time for me.