I don't know anything about the DUE but the Mega only has a single ADC that must be switched between the different analog pins. Generally when you switch to a new analog pin you shoud discard the first reading in case the ADC still has residual charge from the previous pin. That obviously slows things down.
According to the Atmega 2560 datasheet a single ADC reading at full 10 bit resolution requires up to 25 ADC clock cycles and the highest clock speed is 200kHz (or 5µsecs per clock) so the time could be 125µsecs. If you change to another pin that change takes time and then there is the need to waste a reading so a rate of about 4000 samples per second might be reasonable if you change pins between every pair of readings. But be sure to check my maths.
By the way I have no idea whether the regular Arduino analogRead() command can work that fast - it may have "baggage" like digitalRead().
The DUE has 12 multiplexed ADC channels (4 ADC pins are not broken out). The maximum sampling rate for 12-bit ADC conversions is 1 Msps, providing a PDC DMA for ADC is used. This maximum sampling rate is for all enabled channels. E.g. if only 2 channels are enabled in your code, the maximum sampling rate for each channel will be 500000 sps.
Robin2:
Generally when you switch to a new analog pin you shoud discard the first reading in case the ADC still has residual charge from the previous pin.
Generally you don't have to do this.
Only if the channel being sampled has an impedance higher than 10k do you ever need to do this.