Algorithms will only get you so far. If you can't either execute them fast, or execute them smoothly, you can forget about sub-20.
Keep in mind that a 20 second solve breaks down to about 12-13s F2L and 7-8s LL. That's 2.5 seconds each for cross and each C/E pair, 3s for OLL and 4s for PLL. It sounds daunting, but with proper practice, you'll realize that 20 seconds is a long time, and (hopefully) one of your slower solves.
But to get there, I cannot stress proper technique more. You don't have to be particularly fast (an average of 3 moves/second will suffice), but especially during F2L, you have to connect your algorithms. Learn to execute finger tricks in ways that leaves your hands in position to perform another one. I used to have this bad habit where I did U' and U2' by pushing with my right thumb. It's a bad idea because my hand is way out of position to do the follow-up, which is usually RUR' or RU'R. Breaking this habit was essential for me to drop from the mid-20's to sub-20.
Eventually, you're develop your own style - just make sure you work on correcting bad habits. And work on the F2L until you can average 10-12s, and the rest should be a piece of cake.