1) What I do is look for a theme that looks close to the layout ( 1, 2, or 3 column) and the colour scheme that I like.
For theme ideas see: http://www.alexking.org/index.php?content=software/wordpress/themes.php
2) I upload the selected theme's files to the wp-content/themes directory on the server and then make the theme active under the presentation section of my wordpress administration panel.
3) I then visit my site's home page to view the active theme.
4) I look at the homepage's source file and then I copy and paste the source code into an editor in order to create a "test.html" file.
5) I then copy the theme's css file (usually "style.css") to the "same directory" on my hard drive as the "test.html" file.
6) I make sure I change the path for the css file in the html file - it should be changed to something like this:
<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
7) Then it's simply a matter of playing around with the css file and making the changes that you want to make - after each change you can view the html file in a browser to see the results.
8) When you get the css file the way you want it - layout, positioning and style - replace the theme's old css file with the new css file in the theme directory and go from there.
9) Any changes that you make to the "test.html" file itself (like adding extra div's etc) must be made in the corresponding *.php file using an php editor.
10) Once I get my homepage to look close to what I want - I then repeat the process above to make other html files - example: "test2.html" to style comment boxes - "test3.html" to style the archive page, etc etc.
There are probably better ways to do it but this is how I started out and this system works great for me.