My stock AMD fan kept my CPU as cool (at least according to SpeedFan) as my new Swiftech MC64V. For that reason, the first thing I'd look at is your case and PSU. Cheap cases often mean poor ventilation. Ensure the path from the front intake fans on your case to the rear exhaust fans is relatively unobstructed. This is the time to use zip ties, sleeving, or wire loom to tidy up your cables to make this a reality, and route them out of the path of airflow. Also, a cheap power supply can often be strained by a good system, and result in higher temperatures. I'd much rather have a brand-name power supply with a high efficiency rating, such as an Enermax Noisetaker, Antec Neo, or PC Power & Cooling if you have the cash.
I'd replace the stock fan on your Geforce with an Artic Cooling NV Silencer 5. I have one myself, and this has lowered ambient case temperatures as well as the temps on my Geforce 6800, and it's quieter. Lower ambient case temperatures mean that your CPU won't get quite as hot. Also, if you have empty spots for fans in your case, make use of them. If you want quiet, my preference goes either to the low-speed Panaflos, or the Vantec Stealths, quieter yet but slightly less airflow and the Panaflos never ever die.
For reference, I'm running an Antec P160 case with the two stock 120mm Antec fans, a Panaflo L1A 120mm fan in a custom blowhole on top, the Swiftech MC64V with a Delta low-noise 80mm fan, and an Enermax Noisetaker AX power supply with 80/92mm fans (I hope to replace those with quieter ones in the next few months). My CPU is running stock, and Speedfan reports idle temps of 36-37C.
Oh, one other question...is your 3500+ a Winchester or a Newcastle core? The Newcastle probably runs slightly warmer, and so compared to Winchester 3500+ CPU's your temps may seem a little warm when they aren't.