Upgrading FreeBSD within the STABLE branches is entirely free of pain. I perform those system upgrades once per week or at last once per month on all of my machines. For this installing my little FreeBSD Administration Toolkit and then performing a simple "cd /usr/adm && make upgrade etc" from time to time is fully sufficient.
But the situation is totally different for upgrading from X-STABLE to (X+1)-STABLE. Here the usual "build and install everything from source" does not work or at least requires additional preparations. As I'm a FreeBSD guy from the early days (386BSD says hello ;-) and always worked in the Unix system administration area, I had to upgrade many production FreeBSD machines over the last decade. Here one major goal for me always is that (1) the upgrade is possible and no re-installation is required and (2) the upgrade can be performed without any data and service loss. As a result I often had to create my own very special home-brewn upgrade procedures. They perhaps are of no use for anybody except me because my environments and contraints are too unique. Nevertheless I share them here with our FreeBSD community. Perhaps someone at least can reuse some of its tricks if need exists.