The subtlety of the language nuances. This is my impression, as a native speaker:
“…for all levels”
-kind of implies offering multiple courses, currently, and there’s a course for any level. Or, that’s your level of expertise, and you have been doing this now or in a recent time. Or worded in response to a question about expertise.
“…to all levels”
Nuance is that you are currently engaged (or perhaps offering to be engaged “I can teach to all levels”) to teach multiple levels, as a statement also indicating expertise.
“to” in English can also imply “up to, but no higher than…” in this context.
“I teach Spanish to grade 5” - that’s the course I teach, “to” those students.
“I teach Spanish to a middle school level.” - implies “up to”, I’m not qualified to teach high school or college levels.
See, the word “level” implies an emphasis on qualification level over actual teaching.
“at” -could imply you are currently teaching, but is more a statement of your expertise level.
Again, all sentences are grammatically correct, none are really awkward phrasing, and precise meaning would be deduced from context.