I had fairly unstable readings from my TMP36's until I used shielded cable and a capacitor from +5v to GND at each sensor.
Also, putting a resistor from 3.3v to AREF will produce a voltage much lower at AREF because you are making a voltage divider with the resistors already built in to AREF. I use a 20K and that makes 2.04v at the AREF pin, which is perfect because the most the TMP will put out is 1.75v @ 125C.
To make your readings very precise, divide 2.04 by 1023 to get 1.992mV per step. At -40C, we should see an output reading of 100mV. Divide 100 by 1.992 to get 50. This means at -40C, you should see an analog reading of 50. at 125C, you would take 1750mV and divide by 1.992 to get 882, so at 125C, you should see 882 as an analog reading.
Then map the analog reading : tempC = map(analogRead(0), 50, 882, -40, 125.
See my thermostat sketch for more info and ideas. I take readings every 100ms and average them in a matrix.http://pastebin.com/YxKFUr2y