yes, external will work fine. It doesn't even need to be a separate file. You can add the CSS to the bottom of your theme's style.css stylesheet if that is convenient.
to add a separate sheet, add this line below the line in header.php that defines your theme's style.css
<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/my_stylesheet.css" type="text/css" media="screen" />
Sub the name of your sheet for "my_stylesheet".
One thing to keep in mind - CSS has rules for application of styling. Styling applied directly to a tag using style="" will override styling in a stylesheet. Also, general styling like img { border: 1px solid #fff } is overriden by more specific styling like #content .post img { border: 1px solid #fff }
What that means is, if you don't see the styling you add to the stylesheet being applied, it doesn't mean you necessarily did it incorrectly. It could be that it is getting overriden and you need to make your stylesheet styling more specific.
I find the best way to test and debug styling issues is with Forefox's Firebug extension - it shows you exactly how styling rules are being applied and overriden.