If by struggling you mean he had 1 bad qualifying in the Netherlands compared to Sainz. The last 2 grand prix he has been back by .067, and then .079 seconds.This is the 3rd race in a row where Carlos finished ahead of Charles. For whatever reason Charles is struggling right now.
Did you watch the race? His teams strategy was to sacrifice him to protect sainz win. it is no surprise he lost to Sainz this race. He spent the whole first part of the race purposely driving slower than sainz to give him a buffer. They kept radioing him to tell him what gap in time to sainz they wanted, and it kept getting bigger. So they could keep the field bunched up so no one could do the undercut on him.