Ferrari where in a no win situation - neither Charles or Seb could go fast enough to break clear of Max's threatened undercut to ease the pressure for their team mate - Mercs meanwhile were off on a springtime jaunt all of their own.
Leaving Charles in front of Seb would not have altered the threat from Max but worse could possibly have seen both cars taken by the Red Bull.
The thinking was right to give Seb his chance, unfortunately he couldn't go any faster so the threat from Max became reality.
Not sure Charles would have managed to stay ahead of Max as Seb did, however that's a debatable point.
Once they had lost 4th to Max a different strategy was required to try to get the 2nd Ferrari ahead of him, this would have applied to Seb if he was relegated just the same as Charles.
In the end IMHO it was Ferrari's general lack of pace that held Charles back rather than the team order. Just maybe Vettel could have wrestled 4th from Max if he'd not been allowed to pass Charles, but that also supposes that Charles could have held onto 3rd from Max.
As I said at the start of my theorising Ferrari were faced with a real headache that had almost no perfect solution.
I'm sure when Charles looks at the whole thing he'll realise that 3rd and 5th was possibly the best on offer to the red team on this occasion.