BECAUSE SHE CAN
There are several cases where a Trainer or Gym Leader has Pokemon that are not "their type".
You must remember, these people are supposed to be really good trainers. It makes sense that they would have some diversity in their teams.
Here are some examples:
You could ask the same question about a handful of other trainers in that same game. Diamond and Pearl has good examples. What about Volkner? Aaron? Bertha? Flint?
Steven in Ruby and Sapphire is a STEEL-TYPE trainer, but only has three of them. His other three are Cradily (Rock/Grass), Claydol (Ground/Psychic), and Armaldo (Rock/Bug)
FireRed and LeafGreen are literally filled with examples, heck, every single elite four member has off-type Pokemon.
Sabrina, Lorelei, Bruno, Agatha, and Lance are the offending trainers here.
These In-game Trainers are supposed to be strong. It makes sense that the developers would vary their team to make them more versatile, and harder for you beat.