CSS that large should be split up with parts which are served only when necessary, rather than all at once. Here's how I break down my stylesheets:
Site-wide styles.
Page specific stylesheets.
Imported stylesheets.
The CSS pre-processor I use combines all of the CSS files used on a page, but does NOT include all of the CSS used by the website. If it isn't on that page then there is no need to include it. Where I work we have ~ 800KB of styles, but a typical page might only use about 10% of that.
Other notes: Most people use component stylesheets, but where I work we do A/B and multivariate testing. This means that the same component might be styled several different ways, depending on the page it's on or the context of where it's located on the page. Because of this, I use import stylesheets instead.