In 2007, instead of creating "themes" which are selectable in the Site Settings, what we've tended to do is to create a "Feature" (usually in Visual Studio) which contains a customised masterpage (with the page elements arranged in the desired way) along with CSS files which apply our look and feel.
This process is referred to as "Branding SharePoint" in the SharePoint world.
To get you started, have a look around Heather Solomon's site: http://www.heathersolomon.com/blog/ which should be the first port of call for anyone wishing to "Brand" SharePoint. Here she has sample, basic masterpages for you to cutomise, as well as a full reference of what CSS elements you need to customise in order to change the look of the page elements.
This method is one of many, but gives you far more flexibility than simply creating custom SharePoint Themes (which only let you change colours and fonts), as you have the ability to customise the masterpage and change the actual layout of the page.
If, however, you are indeed only interested in change the colours & fonts (and not fussed about changing the layout) then here's a blog post about creating custom themes:
This might a good start to getting familiar with the CSS elements, but there's so much more power available once you have command of the masterpage, as shown with this nice, little example (no, I didn't do it!): http://www.ferrari.com/English/Pages/Home.aspx :)