Analog to Digital Schemes - using different implementations?
Well, the most obvious reason why ADCs output straight binary is: because they output the code directly from the converter, and all popular ADCs 'naturally' output straight binary codes. 

Successive approximation ADCs are the most popular kind. It works by comparing the stored input voltage to a voltage produced by an internal DAC (or R2R ladder). It starts by comparing the input voltage to half the full range: if it is higher than that voltage, it outputs a code '1', if it is lower - '0'. After that it splits the corresponding half of the voltage range into two again and does another comparison. It continues this cycle for the amount of bits desired. Obviously, this naturally produces a little endian binary output code, and always requires as many cycles as there are bits.

Sigma-delta converters are the other big type of popular ADC. They work by doing voltage-to-frequency conversion and subsequently counting the number of pulses in a given time span. Naturally, the less pulses you can count and the shorter the amount of time (in a clocked system), the worse your resolution. So this type of converter also naturally gives coarse values first and becoming more accurate as time progresses - again a prime example of little endian binary output.

In order to give out something like Gray code or other advantageous codes (for instance TMDS for maximum SNR) you would need to wait until a complete conversion occurs, then perform an operation to transform the code, and only then can the ADC release the output code. This means there is a significant time (latency) penalty to using another code.

The other elephant in the room is of course the fact that with extremely few exceptions, all architectures we use to process numbers use straight binary internally. In order to do anything with such values, you would need to convert them back again.

Of course, there is still a very valid point to be made for low-SNR transmission lines or in general for long-haul data transport to use optimized codes. However, ADCs almost never are used by themselves, they always have some kind of processing near the ADC. Moreover, there are literally no ADCs with integrated line drivers. Therefore, for these kinds of applications a code converter is almost always integrated in a line driver or physical interface chip (PHY), not in the ADC. Two great examples of this kind of conversion happening are panel drivers for LCDs (which all use LVDS to span a relatively long 10-50cm bit of wire at gigabits per second) and USB/Ethernet PHYs.