I've been riding about 300 miles a week for the last 2 years. I'm not riding in races, just riding with friends. I always ride 60+ miles (95+ km), and I'm in excellent shape. I have a low end road bike. When riding up hills or in strong head winds I am very fast. But when I ride on flat surfaces I can't seem to keep up. I'm wondering if it's the bike or my riding style.
The key to understanding your situation is its unusual nature. Speed on hills is mostly determined by power-to-weight, while speed on the flat is mostly determined by power-to-aerodynamic drag. The problem is that speed in head winds is also mostly determined by power-to-aero drag, so the conundrum is why you're good in head winds but not on the flat under calmer conditions.
If this is truly your problem, the answer is more likely to be the numerator (i.e, power) than the denominator (aero drag). Some riders tend to have more difficulty managing power on the flat than climbing; this is thought to be related to crank inertial load. Crank inertial load (CIL) can be thought of as related to "how much momentum is maintained with each pedal stroke" and varies with the fourth power of gear ratio, so when you're cruising along at high speed on a flat road your CIL is high while when you're climbing a steep hill in a low gear your CIL is relatively low. When you're climbing a steep hill you slow down a lot if you don't keep pedaling pretty steadily while if you're on the flat you can vary cadence or pedal force (within reasonable limits) without much change in speed. The "feedback" you get from the cranks with momentum is the crank inertial load. Many riders appear to modulate their cadence in response to CIL, even at the same power. The last piece of information we need to address the puzzle is that in head winds, people will often gear down lower than they ordinarily would for a given gradient under calm winds.
So, if you appear to do well in climbing and in head winds but not so well on the flat, this indicates that your power production appears to be relatively high under low CIL conditions but not so high under high CIL conditions. If you've ridden much with a power meter you would likely observe that your power is higher and steadier on hillclimbs than on the flat; more than that, you would probably observe that you have difficulty holding high power on modest descents.
There is some evidence that muscle fiber type influences freely chosen cadence so it may be the case that your muscle type is especially canted in one direction that favors power production under low CIL.
300 miles a week is extremely high mileage. Very few people can pull that off. I'm surprised that you feel you need to ask for advice. :-)
That said the way the cyclists increase speed, like runners and swimmers, is to train with intervals. This means increasing your speed until you're at/near/slightly-above lactate threshold, holding it for a minute or two, then resting for short time and repeating this multiple times.
The bottom line is that this is a matter of following a training program. At 300mi/week you definitely have the "base" down (far more than most folks), now you just have to practice intervals/speed-work.
I used to be in the same situation, during the bike split of the triathlon races I participated in, I would pass a lot of people on the climb and could not keep up with them on the flat.
I changed my tires and gained a bit of speed, then I changed my wheels and was now able to ride at the same speed as others. (and I bought low end wheels)
It turns out the bearing in my wheels were dead.
Look at the difference in spinning between your wheels and wheels of others. If it's not the problem then I'll go with the CIL and muscle fiber theory.
Have a nice ride