Should you remove old versions? Up to you. You'll certainly have a "clean" installation. Do whatever you think is best for you. (You might want to reboot your system after uninstalling.)
Paul Peelen linked the command line step to do the removal, but I'm going to quote ad verbatim from Apple's "About Xcode.pdf" since the link could disappear:
Uninstalling Xcode Developer Tools
To uninstall Xcode developer tools on the
boot volume along with the
directory, from a Terminal window
type:
$ sudo <Xcode>/Library/uninstall-devtools -mode=all
To remove the underlying developer content on the boot volume,
but leave the directory and
supporting files untouched, from a
Terminal window type:
$ sudo <Xcode>/Library/uninstall-devtools --mode=systemsupport
To just remove the UNIX development support on the
boot volume, but leave the
directory and supporting files
untouched, from a Terminal window
type:
$ sudo <Xcode>/Library/uninstall-devtools --mode=unixdev
Finally, to just uninstall the directory you
can simply drag it to the trash, or
from a Terminal window type:
$ sudo <Xcode>/Library/uninstall-devtools --mode=xcodedir
NOTE: The uninstaller that ships with previous versions of
the Xcode developer tools will not
clean everything off of your system
properly. You should use the one
installed with these Xcode developer
tools.
(Those are current at least as of "Xcode 3.2.3 for Mac OS X 10.6 and iPhone OS 4.0")