3.1.2 is ok.. great for jailbreaking and to use but some apps wont run.
3.1.3 in my mind is the best everything at this point runs on it it jailbreaks fine.
4.0 is pretty good too just a bit slower nice to use though and JB is fine.
4.0.1 jailbreaks but its slow and pointless
4.0.2 is the devils work and should not even be considered its only existance is to make it so you cant jailbreak the phone. and its equally as slow as 4.0.1 because it is exactly the same apart from the JB.
4.0.1 is driving me nuts and because i have no shsh files for the phones im getting i have to put them back to 3.1.2 and thats where they have to stay.... this isnt very cool to be honest.