My teacher told me a while ago that it's best to practice on a clean tone, which I do, all the time.

It's very good for picking up on mistakes when playing. Plus, if you can make it sound good on a clean tone then you surely can make it sound great with gain/distortion/overdrive(the term 'Gain' is used differently in music production but I see it alot on amps. I don't know the difference between distortion and overdrive).

I am curious though, what kind of drawbacks are there to this style of playing? I can think of, maybe, the inability to produce pinch harmonics properly or maybe not having a good undersrtanding of how to get a good distortion tone.

Still, it really helps when practicing, although it does suck that you can't load your amp up with gain to cover up the mistakes
I would say it depends on what technique you're practicing, but yes practicing on a clean tone makes your mistakes more audible and helps you correct them. But practicing on some distortion isn't bad either. Sometimes I don't want to practice cleanly, sometimes I just want to turn up the gain and emulate the sound the I want to achieve with my guitar playing. Either way though, the most important thing is to just practice. Regardless of what setting you're on. and to practice slowly and accurately so that when you're ready you can build up your speed and still be accurate.
The one problem is that, when playing on clean, left/right hand muting problems don't show up very clearly.
ProTone Pedals: Attack Overdrive
Fractal Audio: AxeFX 2
Engl: Fireball 60
Zilla: Fatboy 2x12
Carvin: DC700
Carvin: Vader 7
Schecter: KM-7 MKii
Schecter: Banshee 8 Passive
Jackson: DK2M
Quote by pigeonmafia
The one problem is that, when playing on clean, left/right hand muting problems don't show up very clearly.

Exactly what I was going to say. In fact when I'm doing anything that involves careful muting (Legato, Tapping, Sweeps...etc), I turn up the gain as much as possible so that I can detect any noise. The ultimate goal to let the string being played to be the only one that is ringing.

But other than that, I like to play on the clean channel.
I dont do that, simply cause it dosent apply to everything. If you practice something your going to play with high gain later on you might not practice it right in terms of muting.

So that is why i practice stuff like intend them to be played.

That is : Going to be played with lots of gain = Practice with lots of gain. Going to be played clean = Practice on clean.