The main problem I have seen with UUIDs from a performance standpoint has to do with indexing and ordering.
To start with ordering, it is inherently a NP-complete problem. UUID can add a good bit of over head here since it's less computationally expensive to order an integer than it is to order something like a unique identifier.
This is also why UUIDs tend to increase fragmentation with indexes, since indexing can be so closely tied to ordering.
SQL Server has made some improvements here with the newsequentialid() function, so maybe it's less of a problem moving forward.
To contradict myself for a second, perhaps the move to more distributed systems and service models over the long term increases the need for the move from INTs to UUIDs. Better to architect for the future now and save yourself some pain down the road. It will be interesting to see how that plays out.