If you're just looking for one skin, you may want to check out Snowcovered and see if there are any there that meet your needs / budget. However, if you are looking into learning how to skin and develop for multiple sites, you probably will want to start with the posts pinned at the top of this forum. Personally, I started by reverse-engineering the default skin(s). Depending on your level of comfort with HTML and server-side technologies, you have the option of either creating a HTML template with 'tokens' that get replaced when it is uploaded into DNN or, the method that is coming into favor with more skinners (myself included) is to bypass the upload-and-parse method and just create the skin as an ASCX file. You will see both methods outlined in the pinned posts, and there are many threads dealing with your question.
Also, if you plan to dive into DNN fairly deeply, you may want to check out Professional DotNetNuke 5 - Open Source Web Application Framework for ASP.NET (Nerdbooks), chapter 16 covers skinning with both systems (parsing and control pages). Once you understand the basics (Panes, Controls, widgets), then it's just a matter of making your skin code, inserting objects where they're needed and then just style it up using CSS (and maybe some jQuery if you're so inclined).
It seems complicated, but really once you understand 'the basics', it's nothing more than your usual HTML code sprinkled with Controls (Navigation, Login, ContentPane, etc).