PWM Fan Speed Control Audible Noise

PC fans are designed to be driven by PWM at a much higher frequency than the Arduino's default hardware PWM. That is probably the cause of the noise.

You can change the PWM frequency - Arduino Playground - TimerPWMCheatsheet Arduino Playground - PwmFrequency