I have been using DotNetNuke recently and highly recommend it. It was very easy to install, especially from the Web Platform Installer (from Microsoft) and also really easy to customize.
My clients ended up buying a skin, but I found it really easy to build a skin myself and customize the purchased skin as well. Try searching for Free XHTML DotNetNuke skins.
It was also really easy to build new modules as well! I've written four so far - in C# - and it was very easy.
The actual DNN source was written in VB.NET with lots of HTML tables. It is definitely not anywhere near what most people consider best practices, but it does work quite well. It's one of those software projects where it works really good and then you look behind the scenes and you regret you did that.
I once evaluated it, and didn't get past the source because it was VB.NET. I regret that now - this last project went really well for me. So, I highly recommend it. It's not like it will cost you anything but the time you spent evaluating. :)