If you have neither a special memory-intensive task in mind nor a serious shortage of disk space, I would accept the default size for the swap partition. If you don't care about hibernating or you are very enterprising and don't mind some hacking to make hibernation work, you can forgo the swap partition entirely and use a swap file.
I don't see a particular reason to have a separate boot partition, unless you're doing encryption or something like that.
In the past, I've done both separate home setups and "one big filesystem" setups. I can't really say that either approach is more flexible than the other, because they have different flexibilities. If you have one big partition, you never have to adjust your partitions to deal with mis-allocated disk space, but if you want to install a new OS and keep your home directory, you need some extra space lying around (or you need to do some creative repartitioning and bind mounting). On the other hand, with separate partitions, keeping your home through upgrades and OS switches is easy, but you run the risk of running out of disk space on one partition with lots of room on others.
Ultimately, I've chosen to have a separate home partition, and I've made sure to use only fully resizable (both shrinkable and growable) filesystems (ext4), so that if I ever need to change my disk allocation, I can just boot a live CD and move partitions around without having to copy to and from a removable disk.
Ultimately, the best long-term solution is probably something like ZFS, which assimilates all disk space and allows you to dynamically allocate it by creating filesystems out of the pool. But linux doesn't have that yet. (If you're interested in when it will hav this, keep an eye on things like btrfs and tux3, and also possibly zfs-fuse.)
For the record, here's my laptop's setup:
% df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 23G 13G 9.4G 57% /
/dev/sda6 219G 157G 52G 76% /home
% swapon -s
Filename Type Size Used Priority
/dev/ramzswap0 partition 1048572 844588 100
/dev/sda1 partition 3028244 0 -1
The ramzswap device is a nifty feature called compcache that is apparently included in Ubuntu's stock kernel.