Fansubs are almost always better than the commercial releases, because if the show is even relatively popular (and shows that get official releases usually are), a group will edit the official release's script.
You honestly can't beat the time and passion fans will put in. Most of translators working for places like CrunchyRoll get paid per release, so they have no incentive to spend more time on a release and give it a quality translation. On the other hand, fans have already read/played the source material and will use background knowledge to properly translate the material.
One problem with commercial releases is overlocalization. Watchers too have background knowledge (Japan mythology or food for example) and sometimes there's a dissonance in what you hear and what they mean. Pokemon calling rice balls donuts[0] comes to mind.
Overlocalization (and censorship) happened much more in the much earlier days of English anime (like the time when Pokemon came out). There isn't a real lot of that now because the fanbase wants true to the original translations. I have been out of the anime loop for a while now but that is my understanding. The NA release of Nausicaä of the Valley of the Wind comes to mind - it was released as Warriors of the Wind and was a total bastardization of the story. Miyazaki was incredibly dissatisfied with it so he adopted a "no cuts" policy for any future translations of his work. Apparently (so the rumor goes) when the English release of Princess Mononoke was being worked on they requested permission to change it in some way. The response from Studio Ghibli was a package containing a katana with the message "No cuts".
You honestly can't beat the time and passion fans will put in. Most of translators working for places like CrunchyRoll get paid per release, so they have no incentive to spend more time on a release and give it a quality translation. On the other hand, fans have already read/played the source material and will use background knowledge to properly translate the material.