Vivillon's only true niche is that it is the fastest reliable Sleep abuser (poor Darkrai and Toesdcruel) and is a good look into how broken Sleep Mechanics are.
For Review, Sleep lasts 1-3 turns upon being afflicted, during which the target does nothing. Since this is not gen 5, the Sleep counter does not reset upon switching out. But as proven many times by various other mechanics (Truant, Hyper Beam and its clones), every turn matters in competitive Pokémon, and missing a single turn can be game determinative.
Game Freak is aware of this hence why Sleep is kept heavily restricted. Most Sleep moves are unreliable, having far from perfect accuracy, with the only accurate move, Spore being on cripplingly slow Pokémon and Toedscruel. Sleep Powder is the next most "reliable" one at 75% accuracy. Which Vivillon bumps up to 97.5% with Compound Eyes which is fairly reliable.
So this completely underwhelming Pokémon with a BST of 411, horrid typing and no broken ability can completely turn a game around with just a bout of good luck. A 2 or 3 turn sleep (66%) of the time guarantees a free switch in, which as the popularity of Teleport in the previous generation has proven is incredibly powerful and that is only scratching the surface of sleep, especially in formats where there isn't a Sleep Clause as your first instinct may be to pivot to another of your Pokémon to stop Vivillon and oops -now they're asleep as well.
So thank goodness Vivillon only has Base 89 Speed, falling just short of outspeeding... Annihilape, Hydreigon, Lokix, Volcarona, Charizard, Chi-yu, Arcanine, P-Tauros, Haxorus, etc. And many slower targets (Gholdengo, Gargnacl, Breloom) are immune to Sleep Powder. However, that still leaves a large range of Pokémon (Baxcalibur, Ceruedge, Clodsire, Dragonite, Orthworm, Ting-Lu, the Pex, etc. that Vivillon can turn into setup fodder or cripple outright. Vivillon needs speed control to be at its best, but its best is a domain in which few can fight back.