Our preferred method is to only jump one revision at a time. If, for example, the goal is a Lucid to Natty, we would have Maverick as an interim step. LTS to LTS updates fall with in revision (that is steping from one LTS to the next is considered one "revision" of the LTS stream.
General Recipie
In the general realm of Ubuntu the upgrade process will be done with do-release-upgrade
~ # apt-get install update-manager-core ~ # do-release-upgrade -c ~ # do-release-upgrade
Install the tools, use -c to check, then execute.
Manual Recipie
Perhaps the above command doesn't work for you, or you want to break out of LTS stream; like upgrading to Natty for some reason. Simply change your apt sources, and run the upgrade; taking only one step at a time.
~ # sed -i 's/lucid/maverick/g' /etc/apt/sources.list ~ # aptitude update && aptitude dist-upgrade
There will be loads, hundreds, of updates. Wait for these to proceed, answering the prompts along the way. Pay special attention to your configuration files! Reboot once the update is complete and repeat as necessary.
Lucid to Maverick
~ # sed -i 's/lucid/maverick/g' /etc/apt/sources.list ~ # aptitude update && aptitude dist-upgrade
Maverick to Natty
~ # sed -i 's/maverick/natty/g' /etc/apt/sources.list ~ # aptitude update && aptitude dist-upgrade
Natty to Oneiric
~ # sed -i 's/natty/oneiric/g' /etc/apt/sources.list ~ # aptitude update && aptitude dist-upgrade
Oneiric to Precice
~ # sed -i 's/oneiric/precice/g' /etc/apt/sources.list ~ # aptitude update && aptitude dist-upgrade