I'd keep everything organized in multiple css files and <link>
them in your section as normal, then let your CDN minify, consolidate and cache them.
But if you have a small chunk of CSS that's being used often and on every page, it makes sense to avoid the call to a file and just place that in the bottom of your <head>
section.
For example, you could keep the CSS that controls the basic layout of the page inline.
But as for what the best practice is right now: things change all the time in this area, but it seems the best practice is to load all of your CSS in their own files. If you have CSS that needs to load first and isn't loading fast enough for some reason, you could then try inlining that portion of it.
If you're concerned about load times, minimize the use of JS and large images, that's really the only way to solve that.
FYI, CDN's don't just cache your script/style files, they also cache the pages (which includes everything in your <head>
section).