I spent 8 years at Google (Cloud) and have lots of friends in the revolving door of AWS -> Google Cloud -> MSFT/Azure. I've been long convinced that MSFT has the best management and offers the most predictable corporate culture & behaviors. At least on the Azure side, comp is on par with both of the others, so if I had options for all three I'd definitely choose Microsoft.
Meta pays better but it's too long a drive from where I live to put up with the reduction in WLB.
MSFT you need to be Principal 1 to make what an L5 at Google makes, according to levels. Maybe the is lower for Principal Engineer at MSFT?
When I interviewed at Azure (hiring event where I talked to 3+ TLs) I was not impressed at all, which is quite a contrast to when I interviewed at GCP. Maybe I got unlucky!
I have not interviewed at either company, but Meta is known to be harder to get into and pay quite a bit more than Amazon. I imagine they treat their employees quite a bit better as well, though i'm sure expectations are still high, like they are at all FAANGs.
People on blind say facebook is pretty similar with the hire to fire culture