In my experience, swap can be any size you like. Larger swap partitions will give you more virtual memory. There is no real disadvantage to making the swap larger than you need. 5GB is normally more than enough for me, but it will depend if you work a lot with very large files. Editing large, many layered images, or large video projects will use a great deal of memory.
EDIT: I forgot to mention, the swap partition should be at least twice the size of your total RAM if you wish to use the hibernate function. The entire contents of ram are saved to disk during hibernation and restored when you resume your session.
As for the other partitions, /home is where most of your data will likely be stored. It is the only area writable by non-root users, other than /tmp. It should be large enough to store everything you intend (such as your music or video collections) plus some extra space. I generally make this as large as possible, and you can always shrink unused space from it later if needed. Your root and partition will probably need no more than 20GB, together so 30 or 40GB should be the upper limit required. It will naturally depend what you install. My /boot folder is only 78MB so 1GB will probably be plenty.
The main advantage of partitioning like this it to save /home when you want to backup or install a new distribution. Since it is on it's own partition you can separate out the user data from the distribution much more simply.
So in summary my recommendation for sizes (use at your own risk):
/boot - 1GB
/ - 30GB
/home - as large as possible.
reasons to have a boot partition
discussion of swap size