You can have as many .css files as you want, using either method. Be careful of the order you put them, though, these are
Cascading style sheets, because the styles "cascade" down like water in a waterfall; for example if you say "body { background:white; }" in the first stylesheet, then "body {background:black;}" in the second one, the body background will be black.
For this reason, if I have a specific snippet whose content requires specific CSS, I am careful to use the snippet name in some way in the id and class names I use in any html the snippet generates. For example, my Document Manager snippet uses a lot of forms. All of the html tag id or class names start with dm, such as <form id="dmForm" ...>, or <div class="dmWide">. This way, you can add the snippet's .css file in the header wihout having to modify your main template's .css file, and you don't need to worry about any style conflicts.
Interestingly, the NiftyCorners javascript rounded corner system has one .css file, import.css, which is linked to in the head of your template, and its content is nothing more than several @import commands, since the javascript itself generates a number of tags requiring specific css. So if you are going to have a number of .css files, you can do it that way to make it easier to link to them from your template head.
However, if you wish to have alternate stylesheets to allow user to switch styles, you must use the <link rel="alternate stylesheet" title="secondStyle" ... /> form.
Here is the javascript and css links I used for this site (being worked on)
http://www.alandaniel.co.uk. Click on the images at the top to see the style switcher at work.
<script type="text/javascript" src="assets/templates/4in1/javascript/nifty.js"></script>
<script type="text/javascript" src="assets/templates/4in1/javascript/layout.js"></script>
<link rel="stylesheet" type="text/css" title="yellow" href="assets/templates/4in1/styles/import.css" />
<link rel="alternate stylesheet" type="text/css" title="green" href="assets/templates/4in1/styles/green.css" />
<link rel="alternate stylesheet" type="text/css" title="sky" href="assets/templates/4in1/styles/sky.css" />
<link rel="alternate stylesheet" type="text/css" title="grey" href="assets/templates/4in1/styles/grey.css" />
<link rel="alternate stylesheet" type="text/css" title="puzzle" href="assets/templates/4in1/styles/green.css" />
The "yellow" style, the first one, uses the NiftyCorners javascript system, and you can see that I used the "import.css" file mentioned above.
As far as javascript goes, again you can link to as many as you like, although there is no function comparable to the css @import function; you cannot include or import other .js files from within javascript.