There are some really advanced algorithms (such like Fridrich method) which can get you to like 30-40 moves solving sequence. It is the fastest, and the best times were obtained using this method. Of course, it involves memorising many algorithms.
Proving that the Rubik's cube can be solved in 20 moves is more like a theoretical result. It's just like fixed point existence theorems: you know it's there, but you cannot find it explicitly. As far as I know, the result was obtained using brute force with powerful computers. An algorithm for solving the cube in 20 moves does not exist.
Edit: I meant an algorithm that can be applied by a human when solving Rubik's cube, not a computer.