This is a case for conditional logistic regression, not GEE.
GEE is a widely touted general method for handling repeated measures dependent data. But one struggles to justify its low power and handling of the response under control condition in an experimental design. The power to detect an effect of treatment will suffer because GEE doesn't fully condition on the outcome during the "control" portion of the study. Rather, the outcome while receiving control is considered a random response that has residual variation - some of which attributed to the patient - but some of which is random binomial variation. In all, there's a loss of power.
With pre-post analyses, like with paired t-test, ANCOVA, or McNemar's test, the powerful analysis results from conditioning on the "pre" response. Had you no strata/blocking, the McNemar test would readily present as the obvious choice. But recently, methods have been established for a stratified version.
The conditional logistic regression is a powerful and computationally complex algorithm. The internal working of conditional logistic regression is irrelevant. But essentially the conditional likelihood of the binomial response is identical to the partial likelihood of a Cox proportional hazards model for time-to-event outcomes where each matched set comprises a stratum in an analysis of a single event time with patients achieving response marked as "events" and those not marked as "censored". Since the number of strata are relatively high compared to standard Cox models.
This is why in R, the conditional logistic regression lives inside the survival
package as clogit
with detailed documentation.