The question of what the fastest method is is one that many people ask when first starting out, not realising the depth that actually goes into, there is obviously no best method known, there are speedsolving techniques which can be learned and optimized but there will always be an element of personal preference.
Any 3x3x3 scramble can be solved in 20 moves or less so if you could actually come up with a 20 move solution to any scramble in 15 seconds of inspection time, would that be the best? Well no, the other 20 move solution may be faster to execute, or what about that 22 move solution?
In reality though, people cannot plan optimal solutions, they must resort to methods with varying efficiencies.
CFOP is the most common speedsolving method, it consists of solving a cross, then the first two layers at the same time, followed by orienting the corners and edges of the last layer and then permuting them to finish it off, currently the top 20 speedcubers essentially use this method but many will have various optimisations. Basic CFOP requires 78 algorithms, 57 for OLL and 21 for PLL, it is also very important that you have a good knowledge of F2L, how different inserts work and where other pieces will end up. The top solvers often find ways of solving their first one or even two F2L pairs at the same time as their cross, they are often able to plan all this out in their 15 seconds inspection time. Tymon Kolasinski has claimed that he is able to one-look the entire cross+F2L for one in twenty solves! Top cubers will also optimize with extra algorithms for last layer or ways of influencing the last layer from the last pair. ZBLL is where the cross is oriented for OLL but not the corners and the cube is finished in one algorithm, OLLCP is where the corners are permuted during OLL for an easier PLL, these are just a few of the various optimisations you can learn.
Roux is another method used by a few top speedcubers, these days it is more commonly used by solvers specialising in 3x3x3 with one hand, it involves solving a 1x2x3 block on one side and then another one on the opposite side, solving these blocks is, in theory, easier than solving F2L pairs and various techniques can be used to ensure that forming them is significantly more move efficient than F2L. Rouxers then use CMLL to orient and permute the corners on the last layer, this is similar to COLL but algorithms can be slightly more efficient since the M slice does not need to be preserved, rouxers finish by solving the last six edges.
Ultimately the difference between a 10 second solver and a 5 second solver is not all in the method, it is more to do with the turning speed and the ability to look further ahead, the only way to improve this is to practice a lot and probably to practice specific moves and try new turning techniques, just like with any sport, there is no shortcut to becoming fast, you must learn everything required and practice it a lot.