C.,
We dealt with this when my oldest daughter started preschool. Mostly she was horribly sassy because that's how the other preschool kids treated their mothers. I wouldn't switch schools either because these kids are everywhere; you won't find a school without a bad example of some kind. That's just life.
After calmly and repeatedly telling her all the things you described, nothing worked for me, either. So I warned her once that if she said bad things, I would have to clean out her mouth and she wouldn't like it. Then she tested me. So I took a toothbrush and dipped it quickly in Listerine and I brushed her tongue off. That got her attention. I had to do it several times before she stopped and every few months or so we would have to bring it back for a reminder. But it worked and word got around so I never had to even try it with my younger 3 kids. They just listen to their big sister when she says "don't say bad words." And, no, Listerine dipped on a toothbrush won't physically hurt or traumatize your children.
Good luck,
S.