I did some custom controls, and yes you have to use System.Drawing and override OnPaint. It's sometimes tricky, but also very funny to do your own controls...
The most challanging thing when writing custom controls is doing the VS integration, with creating own designer etc. But that can be a lot fun too...

I read a
book about custom controls and VB.NET. It was quite interesting (although I'm no big VB.NET fan - I'm more in C#, but languages are only a nice feature and it's easy to step from one .NET language to another), as it gave me informations where to find the attributes to be applied on the properties and classes to have custom designer work properly... For all other stuff it was not so interesting.
Well I learned also that the current controls are easily extended... One thing that is fun to extend is the listbox and combobox. It's little work and looks great.
I did also some custom controls for my
Chili Max Feed Reader project.