At first I think that skinning of dotnetnuke is a piece of cake. And this is almost true for main components of dotnetnuke. And it comes to really painful job when you like to skin other modules of dotnetnuke package - Forum, Gallery, Events,...
For main portal you have:
Skins (Definitions of main portal look)
Containers (Style definitions of containers, which contains different dotnetnuke modules)
For other components there is no standard skinning guide. And there is also no common technique to customize this modules. To make a look of this modules consistent with main design,...