As a rule of thumb the partition size should be no bigger then 10% for a Class 10 and for a class 2 no bigger then 5%. An sd-card is flash memory, and flash memory does not take partitioning very well if the partition size is to great. Another rule of thumb is to use either ext3 or ext4 because both file systems use journaling, which means that if you have to pull the battery out the data on the ext partition well not be lost.
There are some scripts in many custom ROMS that move the data over the the sd-ext partition like the one used in my ROM, and by doing so it acts like internal storage. What the means is what ever your sd-ext partition size is shows up as your phones internal storage.