The very best yarn for children's hats, in my opinion, is Debbie Bliss Baby Cashmerino. It's quite soft, luxurious, and it's a joy to work with. But, it comes at a price aka, it's not cheap. But you did ask for the best ;)
I'm not sure where you are, but I'm pretty sure it's available in the US, Australia, and the UK.
Rowan also makes a nice yarn called Cashsoft DK, again not all that cheap. But in both case, you don't need much for a toddler hat, so can probably make one for less the $15 with either of those.
Just be careful if you give the hat as a gift that the person responsible for washing it has the proper washing instructions. If you don't think the person will wash it properly, then go with an acrylic blend or a superwash baby wool. There's lots of brands, and you can "touch test" for softness. Sirdar Aran Toddler is a good one of this type, but I'm not sure if it's available in the US. It definately is in Australia or UK.
As a general rule, I would stay away from bulky yarns for a hat that small. They just don't seem to work up as neat and tidy as the finer yarns. An aran would be the biggest yarn I would use, but DK aka 8 ply would be your best bet.
Good luck, and happy knitting!