I'll deal with Program Files first. Many programs, including most Microsoft
software, will install a large portion of themselves into the system
partition no matter what you do. Other software won't work properly, or at
all, if installed in anything other than the system partition. That's
because Windows expects to find application programs in the system
partition.
Moreover, it makes little sense to install software outside the system
partiton, since the registry is part of the system partition. If you need to
reinstall Windows you'll need to reinstall all your software anyway, so
there's no real advantage to installing your software anywhere else.
Documents and Settings cannot be moved en masse to a different partition,
although you can move most of the shell folders (My Documents, Temporary
Internet Files, etc.) to another partition. Before you start moving shell
folders, ask yourself "why am I doing this?". In particular, moving shell
folders is no substitute for backing up.
Here is the entire article by MVP Kent England:
"How to Move Shell Folders (and contents)"
http://www.kellys-korner-xp.com/xp_shell_folders.htm
FWIW, here's what I have done. Remember, this is only one person's idea: I
have My Documents, My Pictures, My Music and My Videos in their own
partitions. I moved Temporary Internet Files to the partition where I store
my backups. And I moved my (Outlook Express) message store and my address
book to My Documents. I didn't need to do any of this; it's just for
convenience when backing up.