Counting symmetries but not inversions as the same case there are in total 270 different positions for this case. The perfect solutions for all these are well known, thanks to Bernhard Helmstetter, and average 12.08 moves.
Traditionally, last layer methods are done in 2 or more steps, where each step is independent of the other. After each algorithm you have to check the new position to determine what algorithm from the next step to apply to it. Each such check is called a "look", so the best of these methods are known as "two look" systems. The "perfect method described above would be this idea taken to its extreme as a "one look" system.
The most successful such system is the Friedrich 2 look system, as described here. The first "look" (OLL) orients all pieces, and requires memorization of 57 algs. The second (PLL) places all pieces, using 21 algs. The average length of each step is around 10 moves [anyone know the exact numbers?], resulting in a total move count of around 20 for this approach.
Think of this as taking the best and most practical aspects of the two systems rejected above. It is a one look system, that requires learning a few dozen algorithms (of your choice), and averages 14-15 moves.
The idea is to learn only a reasonably small number of algorithms - certainly less than the 78 needed for Friedrich, and for each of the 270 distinct positions, memorize the fastest combination of two of those algs. Or to be precise, if you have 40 base algs, you will only need a combo for 230 positions.
Learning all those is still a fairly big memorization undertaking, but much smaller than memorizing 270 individual algorithms. My gut feeling number is that it's 10% of the effort. And for "muscle memory", you only need to keep 40 known fast algs up to speed, which is much easier than 270.
I think that the 2-3 more moves used compared to the perfect 12.08 is more than compensated by these factors in terms of execution speed.
I have made the alg set I use as a starting point.