After a month of testing Project Cars about 2 hours every day, I've finally determined that my problem, and likely most of yours, is an overheating headset.
I tried nearly every troubleshooting suggestion on this forum and r/Vive at reddit. For the past few days, I've been playing until the flashes were very frequent. Then, I tried to make them stop flashing. The one thing that worked 100% of the time was to point a fan at the front of the headset. Immediately, the flashing stopped. When I pointed the fan away (still running and plugged into the same outlet), the flashing screens came back within a few minutes.
Tonight, I raced for about 3 hours (two 1.5 hour sessions about an hour apart) with the fan. Not a single grey flash!
I know most of us have suspected an overheating problem from the beginning. Some have confirmed this by applying ice packs or putting it in front of an air conditioner. I feel like I've wasted a lot of time testing things other than the most likely cause. I also feel we were misled by HTC staff on this forum saying they didn't think it was a thermal issue.
So, I'm done being suspicious of RF interferrence, or USB 3 vs USB 2, or faulty lighthouses, or reflections, or bad video/USB drivers. For those of you, like me, that have flawless tracking for 20+ minutes, followed by grey flashes that get progressively more frequent, try cooling the front of the headset.