I believe the kernel alone isn't the answer. Windows 7 is the first time Windows was responsive enough that I consider it to be acceptable.
I believe more of the speed differential is related to @RobinJ's thoughts on software engineering. Everything* in Windows is built on the MSDN via some kind of Microsoft framework or another. This is actually related to how Big Business loves Microsoft; Microsoft is all about helping different programs/suites/technologies talk to each other.
Next... to make it easier for the developers to have the essentials covered (and not reinvent the wheel) Microsoft allows makers to bundle and/or require precompiled libraries like Microsoft Visual C++ 2008 Redistributable. Or .Net4.0, MSSQL 2005, ad nauseum. There are something like ten years worth of packages developers can use and build upon and require end users to install on their Windows computers in order to use the new software.
So in order for program Zyzzyx to load and run, one or more MSDN redistributable libraries have to be present and running. These libraries determine how programs interact with the OS.
To boil it down, I would opine that Window's intentional compatibility across decades of software makes it bloated and occasionally more slow than a comparable linux system. Also note that I have developed visual software for windows but not any for linux... not GTK, Qt, Py, anything, so my assumptions about linux being less bloated are just that.
edited to add: further, FOSS software does have people improving it all the time, so GTK will improve as time passes rather than GTK-2005 and GTK-2008 being on same computer, while Microsoft does that all the time.
*- ok there are exceptions, I'm sure.