Several resources like Yahoo dev network http://developer.yahoo.com/performance/rules.html advize to use as little CSS files as possible to limit the ammount of HTTP requests for a page.
DotNetNuke can potentially load a lot of CSS files, this can make managing your CSS easier, but it also adds HTTP requests to the process of loading the page.
But you don’t have to use all these CSS files in DotNetNuke, since the framework will only load the skin / container css files that are in the skin package.
Skin.css
If you only add skin.css to your skin pack and put all your styles in there, only that file will be loaded (with default.css and portal.css)
Several people including Cuong Dang have already blogged about this before, but there is one thing in the core not a lot of people know about AFAIK.
Delete Portal.css
If you delete portal.css it does not get loaded by the framework either.
Use FTP or simply open Menu: Admin > FileManager and delete it.
That would be one CSS file less.
(This enhancement was suggested and added to the core by Vicenç Masanas)
Default.css
Currently the only "good" way to also get rid of default.css would be to use the skin object I posted on codeplex.
(because it's per skin and upgrade safe)