http://www.pokemongodb.net/ selects "optimal" moves by DPS. But, it seems to me that a lower move DPS can yield higher overall DPS. For example, a lower DPS fast move might be better if it generates more energy per second. A lower DPS charge move might be better if it takes more time (allocating more overall time to the charge move) or takes less energy.
Pinsir seems like a good example to me: pokemongodb selects Rock Smash, but Fury Cutter is 3.5x faster and generates more energy, so you can spend more time executing charge moves. If I assume all energy translates to charge moves (i.e. time spent on fast moves per charge move is charge energy divided by fast energy), I get 16.9 overall DPS with Fury Cutter, but only 13 overall DPS with Rock Smash (assuming X-Scissor charge move).
Is the above roughly the right way to determine optimal moveset? For Pinsir, is Fury Cutter really better?