Slopping presentation -- which is what CSS is -- into your markup is ignorant BULL, and anyone claiming it is somehow "faster" probably doesn't know enough about websites to be flapping their gums on the bloody topic!
THOUGH like anything else, there are exceptions.
IF you have a squeeze page -- a single standalone page that you NEVER expect the same visitor to see more than once, to load more than once within the caching time limit, then it is concievable there MAY be a small advantage to putting CSS into your markup.
BUT that doesn't describe 99.99% of websites. Websites usually have content that changes frequently, resulting in visitors coming back time and time again. Content changes and refreshes means the HTML is reloaded and not cached. To that end if you put your CSS into the markup guess what!?! MISSED CACHING OPPORTUNITY!!!
If you put your CSS into one file PER MEDIA TARGET (media="screen", USE IT!!!) as a monlithic file for the entire site, you can not only cache appearance across revisits, but also across page-loads and sub-pages of the same site. Not only that, you can pre-cache the appareance of those sub-pages so they are already loaded, speeding up the render time.
99% of the time you see style="" in your markup, someone is doing something wrong and in an incompetent and ignorant fashion. The ONLY time to use style="" is when that style is conveying some form of meaning -- like font-size on a tag-cloud, or the width of a sub-bar in a DIV based chart. Anything else is just incompetance and failing to grasp the POINT of HTML.
100% of the time you see <style>, you're looking at outright garbage code made by people who to be frank have ZERO damned business building websites! It's a tag that SHOULD have gone the way of the dodo in HTML 5, and would have (much like the redundant IMG tag and stupid malfing outmoded onevent attributes) had we gotten the REAL planned successor to 4 strict instead of WhatWG's mental midgetry where with a lot of things they pretty much went full Pakled.
A lot of this reek of stupidity amongst developers is just that so many people cannot extract their cranium from 1997's rectum, and for all intents and purposes still vomit up websites using HTML 3.2 thinking regardless of if they're slapping 4 tranny atop it or 5 lip-service around it. There's a reason there is NO difference in the level of incompetance between:
Presentational CSS in the markup:
style="font-size:20px; font-weight:bold; text-align:center; color:#F00;"
OOCSS mental enfeeblement:
class="headerText centered red"
... and slopping out FONT tags with the corresponding attributes. ALL are ignorant, incompetent, half-assed numbskullery that completely misses what HTML is for, or why HTML and CSS are separate.
HTML is for saying what things ARE, not what they look like. If you are putting much of anything in your HTML -- be it your choice of tags, your ID and class names, or stuff in STYLE attributes and tags -- to say how you want things to look, you have utterly and completely missed the point and are choosing all the wrong markup for all the wrong reasons.
... which is probably why most mouth-breathers out there are vomiting up 100k+ of markup, a megabyte of CSS spanning a dozen files, and several megabytes of scripttardery spanning an equally absurd number of files to do the job of 72k or less TOTAL in three files.
THEN they try to make magical claims on how their idiotic halfwit approach to site building can be made 'faster' by crapping all over the markup by putting the CSS there? If that doesn't set off your BS alarm, you don't know enough about HTML, CSS, or how webfiles are served to offer a rational opinion about it!
For those of you who missed it, my disgust to the point of nausea with how people are sleazing together sites any-old-way telling users and accessibility to go **** themselves is at an all-time high.