Who do you think is better programmer? A self taught programmer learns the hard way by doing the things wrongly and the trained ones knows how to do the thing in the right manner so lets see what everyone thinks.
I think trained programmers are better because self-taught programmers try to learn those things generally which are required in their projects only. They usually left other aspects of the Language which are not relevant to their project or work. On the other hand, trained programmers are taught with every aspect and they practice most of the aspects, if anything new comes in the language, they can easily relate and learn new things faster than others as their concepts of the languages are solid. Moreover, the view of self-taught programmer for learning a language will be different than trained programmer. It would be objective whereas trained programmere's objective will be subjective.
I think self-taught programmer are better because they know whatever they know very well, whatever much they know is solid, whereas most of the trained programmer only have bookish knowledge. Self-taught programmers can easily adjust to change in platform, languages & paradigms.