We don't use XP per se, but we use elements of it, especially in design and test. It's mostly common sense, as most good ideas are, but it's very effective IMHO, especially the attitude towards unit-test. However, we don't do the most famous - or infamous - aspect of XP, peer programming. We use a two-step process where one person writes the code, and a second 'buddy-checks' it, and that seems to work perfectly well. I'm not really sure that peer programming would.
Happy to discuss further by PM