T.38 is actually a fine way of transporting fax bits but unfortunately it is quite uncommon to see T.38 end-to-end. While a VoIP provider may negotiate T.38 with a customer's fax ATA, it is likely being transcoded to G.711 by a gateway at some point as it traverses the telephone network, ultimately making T.38 a less-reliable choice. (Better to have the same codec end-to-end.) A comparison might be cellular or VoIP providers offering wideband codecs, which sound great when you stay on-network, but when the call crosses the PSTN and is transcoded, the sound is worse than if you used the standard narrowband end-to-end.