The biggest single help in my own distribution experimentation isn't partitioning: It's virtualization. I've got VirtualBox set up with over a dozen virtual machines. It's very easy to install a new distribution, delete an unused one, back up a whole virtual disk, and so on, without messing with partition tables or risking my main installation.
If you must have direct hardware access, my recommendation is to look into an LVM configuration. This enables you to add, delete, and resize logical volumes to hold filesystems much as you'd add, delete, or resize ordinary files. This greatly simplifies management of multiple Linux distributions, since you don't need to be as concerned about the placement and size of particular partitions. OTOH, some distributions (including Ubuntu's desktop editions) have poor LVM support, so you may need to jump through some extra hoops to get them installed on LVMs.
Beyond that, you cannot put
/etc on its own partition (or logical volume), since that must be part of the installation's root filesystem. (Think about it:
/etc/fstab, which tells the computer where filesystems are found, is in
/etc.) In theory, I suppose you might be able to make
/etc/www a separate partition, but I wouldn't recommend it; if Apache has different requirements from one distribution to another, you might not be able to share those configuration files. Copying them over and tweaking them manually might work, though.
Sharing swap space is perfectly do-able. So is sharing the
/home partition, with the caveat that user programs can have varying requirements between distributions, so you shouldn't try to share your user home directory (
/home/ned or whatever you use). You can avoid such sharing by using different usernames on the different distributions, or you can use account management tools like
usermod to link an account to a directory name that's not identical to the account name, so that the user
ned could be linked to
/home/nedu for Ubuntu,
/home/nedf for Fedora, or whatever.