It's possible that Speed is not fixed. Near the beginning of the game, my Fletchling was up against a Zigzagoon. 4 of 5 turns, my Fletchling moved faster, but on the other turn, the Zigzagoon moved first even without a priority move. I'm not sure if they both had the same speed and I just got lucky (possible, I suppose, I wanted to catch it to be sure, but I ran out of Pokéballs). But there might be a small range whereby a "slower" Pokémon can actually outspeed a faster one, as long as it is within a few points. I haven't noticed it elsewhere, but my Pokémon tend to be higher level and EV trained for max speed, so I outrun them to a ridiculous degree anyway.
Planning on testing this at Route 2 with some freshly caught Pokémon and seeing how it goes. Smallest range of available stats means I have a good chance of testing a single point speed differential, and I'll have better balls to catch them with.