Identical is definitely best for performance reasons. If you do mix and match the memory should automatically clock itself to the lowest multiple. As in if you mix DDR333 and 400 it will all run at 333, same with timings. You will also notice a speed difference with 2 vs 4 dimm slots populated, 2 being the faster because it will use 1T timings vs 2T if you have 4 dimms.
And DDR400 is what AMD officially supports even though the lastest Venice core offers more multipliers over DDR400 if the motherboard supports it. So, the mixed memory will work but it will be slower but most likely won't cause any stability issues.