When you migrate projects that use Flex SDK 3 to Flex SDK 4, the project performance degrades. These projects use the default skins and themes that ship with each SDK.
To overcome the performance degradation, you can use alternative implementation options. For more information, see this blog post by Alex Harui.
In Flex SDK 4, the components use the Spark skins and theme by default. In Flex SDK 3, the components use the Halo skins and theme by default. You notice performance degradation when you migrate a Flex 3 project with a Halo theme to a Flex 4 project with a Spark theme. However, if you use your own custom theme based on a programmatic skin, you do not see these problems.
The Spark and Halo skins are based on different Flex classes. The Halo skins are lightweight programmatic skins that are based on optimized ActionScript classes. The Spark skins are based on a Skin class, which is in turn based on the UIComponent class. The Spark architecture provides a consistent approach to writing every skin and allows for interoperability with the MX components. However, it makes the Spark skins heavier and slower than the Halo skins. The differences between the Spark and Halo skins and themes are causing the performance degradation.

