Hi Spiritfly!
Great question, this has been asked many times and there are plenty of great case studies pertaining to the current and previous algorithm versions and how 301's behaved in each one.
In a nutshell, 301's:
1. Pass about 70-90% of their PR and rankings to their new domain
2. Since they pass on rankings, you should strive to ensure that the new domain is optimized perfectly for each URL for it's target keywords.
3. Penalties can also be passed on however they make takes weeks, months or even longer for the penalty to finally be passed onto the new domain.
4. Double 301's are also possible but they are a bit more tricky to set-up but they help to create a buffer to prevent any possible penalties from being passed onto the new domain.
Hope this helps!
"SDSEOGURU"