What most people thing of as "crosstalk" is actually the S&H buffer of the ADC not emptying properly between sampling subsequent inputs.
Remember - the Arduino only has one ADC, and it switches the input that is routed to it.
When reading from more than one ADC channel you should always read one dummy result and throw it away after changing from one channel to another. Yes, it's a little slower, but it makes for better readings.