There is no need for a program for this. 'cp' works just fine.
All user preferences and such are stored in your home directory hidden in .filename and .directory name files and directories. The dot (.) before the name makes it 'hidden' and it is skipped over.
By copying the /home/username directory from one system to another your copying all that user's files and all his settings. It's very simple.
Often people will make separate partitions for /home directory, this way they can reinstall the OS without touching their files or settings.
For system-wide configurations, set by the 'root' or admin account these are stored in /etc/ directory generally. Like your X configuration. If you want to save those you'll have to go into that directory and backup what you want to save.
The only issues you have to watch out for is if the UID numbers don't match up between systems or other permission mishap.
UID numbers are how the system keeps track of users. Usernames are just a convience, but the UID numbers are the important things.
If your user in one system is 2000 and your user in the other system is 1000 then when you copy files they may end up having the wrong ownership and will need to be fixed. Otherwise some commands won't perserve the permission and will assign everything to root account if your using root to backup and restore stuff. Both are easily fixed with the
chmod -R username:groupname /home/username
command.
If you type
ls -ald ~/.??*
into a console you can see all the 'hidden' files.
Time to time you will want to clean those up. Sometimes you may want to 'refresh' your setup. Sometimes newer programs aren't compatable with the older program's settings, or you goofed up the settings or whatever. You can easily do this by first backing up all your email, bookmarks, or whatever else you want, and then making a backup directory and moving all those preferences to that backup directory so they are out of the way.
You need to be logged out of the GUI for this. In fact just reboot the system and don't log back into the GUI at all. Just reboot, hit ctrl-alt-F1 to get to a text-only console, log into there and then run this command:
mkdir ~/backup
mv ~/.??* ~/backup
Then hit ctrl-alt-F7 to get back to the GUI and log in and it will be as if you logged in for the first time.
there are lots of little tricks like that you can do.