analogWrite() gives a PWM output; a square wave bouncing between 5V and 0V. When the transmitter sees this it would understandably get confused. See: PWM or Google for "RC filter" for all the gory details.
If you're looking for a straight solution, try putting a 1K resistor off the Arduino PWM pin, connect the other end of the resistor to the transmitter analog input, and additionally put a 47uF capacitor between that analog input point and ground. See image.
As an aside, if you had a rotary, ~four position switch (or however many speeds you want) you could avoid using the Arduino completely. That would allow you to switch between (four) different resistances to the transmitter input.