Let's say you have an office with 20 free range iMacs. One day they buy an Xserve to host network home folders.
What steps would you perform to move their local accounts, and local home folders, to the Xserve?
How do you handle file permissions? What "gotchas" (I hate that word too) would you look out for (any common plists that get broken? any problems with keychain? etc)?
Accounts won't translate over easily; you'll have to create a new account for the user on the Xserve.
However, that's easier than having to re-create the data. There's really nothing too special about a mac home directory; as long as all the user's data is contained in the home directory of the local mac, simply copying it over to the network drive location with your tool of choice (rsync in the command shell works well) will do the trick. If anything is elsewhere on the hard drive, move it into the home directory first.
However, you have to make sure permissions match. If you created a new account on the Xserve, likely it will have a different numeric UID than the accounts on the local macs did. You will have to do a chown on each home directory on the Xserve to give the users' Xserve account permission to their data.
It's also a good idea to move the local /Users directory on the Macs themselves over to a different location before binding them to the OpenDirectory domain that the Xserve serves; the Xserve will want to mount its network directories into /Users, which means if you flub something up on the copy you won't easily be able to access the local version to correct it.
MacEnterprise has an article called "Migrating a Local User to a Network User."