Vivillon actually isn't that fast. It only has base 89 Speed, which is pretty slow except in NU where one Quiver Dance makes it faster than pretty much the entire unboosted tier. So without any Speed modifiers, Choice Scarves, etc. involved, all the Pokemon you mentioned should outspeed it.
Perhaps you weren't being observant and just missed something in the battle. Some likely situations are:
- There was Sticky Web in play and you didn't notice.
- Vivillon had one or more Quiver Dances set up (with full Speed EVs, Timid and +1 in Speed, Vivillon is faster than all those Pokemon by quite a bit).
- You weren't using any Speed EVs on those Pokemon and Vivillon was using full Speed investment, which would make Vivillon slightly faster than all those Pokemon.
Really there is no definite answer if we don't know the exact situation you were in. Also, assuming you were on Pokemon Showdown, possibly you were playing a Random Battle? If so, then possibly Vivillon's higher level would have made a difference (Pokemon in lower tiers receive higher levels).