I've been reading up on XMP RAM. From what I understand, by setting the BIOS to XMP, it will automatically overclock and set good timings on the RAM (according to that stored on the compatible RAM chip). Is that correct?
And, if so, how good is it? I assume that they still play it safe so you could get more out of the RAM by manually overclocking.
First, XMP is an Intel only encoding so you cannot set e.g. XMP or a profile on any AMD system. Correct, the XMP is indeed encoded on the RAM along with other JEDEC 'SPD' information that the BIOS can read.
XMP is fine with (1) one set of RAM, and in many cases 'can' work with two identical sets, but that's not really recommend especially with either ultra low CAS relative to higher frequencies nor is it recommend with very high frequencies relative to the CPU's rated IMC support with one or two kits. Ultra-High Frequency XMP is a hit or miss depending primarily on the CPU, example DDR3-2133+ on SB CPU is about where you can have issues, or another example DDR3-1866+ on LGA 1366.
As far as "more out of the RAM by manually overclocking" that depends on your definition of 'OC' relative to the RAM. If you mean exceeding the RAM's Rated Frequency and or CAS then manually OC'ing the RAM is your only option though be it not guaranteed. OC'ing RAM (exceeding its Rating) is where the quality of the RAM's IC's and the voltages you exceed determine the outcome. However, if the 'plan' is to manually enter the RAM's Rated Frequency/CAS then no your manual settings will be typically slightly slower since XMP is a little deeper than (CAS-TRCD-TRP-TRAS-CMD) and DRAM Voltages and Auto CAS Timings are typically 'safer' i.e. slower and not optimized.