Browni, one way is to use image replacement for a specific tag. I do it on some sites for, say, the header image.
Example: Adam Brown Designs site
You decide to create a nifty PNG (or jpg, gif, etc.) that's 200px wide and 90px tall for your site name/title. A way to display it for people using newer browsers, while still being accessible (display large text instead) for text-readers and text-based browsers, would be with a tag. Say as the background for a h1 tag in your header div. ((see link at bottom of post for this in action))
HTML
Code:
<div id="header">
<h1>Adam Brown Designs</h1>
</div>
CSS
Code:
#header h1 {
width: 200px;
height: 90px;
font-size: 1px;
color: transparent;
background: transparent url("images/logo.png") no-repeat top left;
}
As far as multiple stylesheets, using a PHP script would allow the most usability across platforms. JS scripts are out there, but some people do turn off JS support in their browsers. IE and Safari don't have a style switcher built-in like Firefox does.
The following site (very rough, was a test mockup for a friend) has an example of a PHP style switcher on it. You can use a form or a standard link to initiate the switch...I choose a form on this on. I didn't write it, but I can't seem to find where I got it from either. I'll have to look around through my list of links (HUGE of course). Oh, this site also uses a H1 replacement for the title as described above.
http://test.designs4efx.com/gunlawnews/