Corsair XMS3200 seems to be the most trusted memory known for its combination of stability and OCability...of course it comes at a price. Kingston makes hyperX pc3500 that isn't too expensive, and its rated high enough to accomodate most OCers. basically, if you get pc3200, make sure its high quality memory becasue with a P4C processor (800mhz fsb) it will already be running stock at its rated speed (pc3200 = 800mhz = 4 x 200mhz). so when you OC, you'll have to push the memory beyond its stock speed (unless you use a 5:4 or 3:2 CPU to DRAM ratio to cut back on the memory clock). many OCers get memory faster than pc3200, like the 3500, 3700, and 4000 you mentioned, and they do it b/c its rated speed higher than the stock 800mhz fsb of the P4C processors, so it takes a bit of OCing the fsb on a 1:1 ratio to reach the memory's rated speed.
if you are going to go w/ something higher than pc3200, then i suggest any 3500 or 3700 OCZ gold, b/c the timings just suck w/ pc4000 memory...