I've done three boxes now, two desktops and a laptop, and had no problems. One of the desktops had been upgraded from Breezy to Dapper and as such I expected there to be some issues but it went as smoothly as I could have wished for.
The key, I think, was in cleaning the crap (and un-upgradeable packages) off the box by getting the results of apt-show-versions | grep 'No available' | awk '{ print $1 }' (i.e. all packages with no repository entry) and removing them before starting. That and having a good backup.
Upgrades are always going to be problematic, but I'd wager that eight out of ten problems are the result of not preparing for the upgrade properly before starting. That the system chokes on something it isn't expecting half way through might not always be the fault of the system itself. After all, there's only so much it can plan for.