Let $O$ be the center of $\Gamma$ and let $U$ be the antipode of $T$ WRT $\Gamma.$ Set $A', B'$ as the midpoints of $\overline{XY}, \overline{XZ}$ respectively. It's enough to show that $U, P, S$ are collinear.
Since $A, C, P$ are collinear, their polars WRT $\Gamma$ are concurrent. Hence, the polar of $P$ passes through $XZ \cap YT.$ Similarly, the polar of $P$ passes through $XY \cap ZT.$ Thus, by Brokard's Theorem, $P \equiv XT \cap YZ.$
On the other hand, since $ABCD, AXOY, CZOT$ are cyclic, we have
\begin{align*}
\angle XOY = 180^{\circ} - \angle XAY = 180^{\circ} - \angle BAD = \angle BCD = \angle ZCT = 180^{\circ} - \angle ZOT = \angle ZOU.
\end{align*}It follows that $XYZU$ is an isoceles trapezoid. In particular, $XU \parallel YZ$ and consequently $XT \perp YZ.$
[asy][asy]
/* Geogebra to Asymptote conversion, documentation at artofproblemsolving.com/Wiki, go to User:Azjps/geogebra */
import graph; size(15cm);
real labelscalefactor = 0.5; /* changes label-to-point distance */
pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */
pen dotstyle = black; /* point style */
real xmin = 47.56791601481347, xmax = 141.43518998779098, ymin = 67.51898117506758, ymax = 115.02398417689444; /* image dimensions */
pen ffxfqq = rgb(1.,0.4980392156862745,0.);
draw((83.781803123793,104.20364210100978)--(103.21873344876656,73.00856874003924)--(87.64516081544994,78.37493546929944)--cycle, green);
Label laxis; laxis.p = fontsize(10);
xaxis(xmin, xmax, Ticks(laxis, Step = 5., Size = 2, NoZero),EndArrow(6), above = true);
yaxis(ymin, ymax, Ticks(laxis, Step = 5., Size = 2, NoZero),EndArrow(6), above = true); /* draws axes; NoZero hides '0' label */
/* draw figures */
draw((83.781803123793,104.20364210100978)--(103.21873344876656,73.00856874003924), green);
draw((103.21873344876656,73.00856874003924)--(87.64516081544994,78.37493546929944), green);
draw((87.64516081544994,78.37493546929944)--(83.781803123793,104.20364210100978), green);
draw(circle((101.62676058590549,93.66953523799953), 20.722208237201073));
draw(circle((88.37417738907266,86.37032180594338), 5.592453509655573), linetype("2 2") + blue);
draw((63.56322515264037,69.9530246987366)--(83.781803123793,104.20364210100978), red);
draw((63.56322515264037,69.9530246987366)--(103.21873344876656,73.00856874003924), red);
draw((75.23289367676819,89.72164306554374)--(87.64516081544994,78.37493546929944), red);
draw((77.7599506260836,71.04691358807975)--(81.08052005822805,96.3643291827659), red);
draw((63.56322515264037,69.9530246987366)--(79.67650205911538,85.65950643704794), dotted);
draw((75.23289367676819,89.72164306554374)--(77.7599506260836,71.04691358807975), dotted);
draw((77.77339544777973,94.02529658127877)--(83.4755880367815,83.67229315241157));
draw((76.23634813721327,82.30620250855763)--(122.17300111358293,90.97474129323315), dotted);
draw(circle((77.77339544777973,94.02529658127877), 11.819461930231995), linetype("2 2") + ffxfqq);
/* dots and labels */
dot((83.781803123793,104.20364210100978),linewidth(3.pt) + dotstyle);
label("$X$", (82.50286667606075,105.31076191363431), NE * labelscalefactor);
dot((103.21873344876656,73.00856874003924),linewidth(3.pt) + dotstyle);
label("$Y$", (103.23529066661403,71.51854328346882), SE * labelscalefactor);
dot((87.64516081544994,78.37493546929944),linewidth(3.pt) + dotstyle);
label("$Z$", (86.66567621747105,76.90570857233578), SSW * labelscalefactor);
dot((93.50026828627978,88.6061054205245),linewidth(3.pt) + dotstyle);
label("$A'$", (93.84856326931629,89.06764233053543), NE * labelscalefactor);
dot((85.71348196962147,91.28928878515461),linewidth(3.pt) + dotstyle);
label("$B'$", (84.05371728952733,91.27148267598102), N * labelscalefactor);
dot((77.77339544777973,94.02529658127877),linewidth(3.pt) + dotstyle);
label("$K$", (76.46271165519089,94.53643133590039), NNW * labelscalefactor);
dot((83.4755880367815,83.67229315241157),linewidth(3.pt) + dotstyle);
label("$S$", (81.0131243770713,82.84372447466444), SE * labelscalefactor);
dot((122.17300111358293,90.97474129323315),linewidth(3.pt) + dotstyle);
label("$U$", (122.98823005918842,90.61849294399714), NE * labelscalefactor);
dot((81.08052005822805,96.3643291827659),linewidth(3.pt) + dotstyle);
label("$T$", (79.80928403161879,96.16890566586007), S * labelscalefactor);
dot((76.23634813721327,82.30620250855763),linewidth(3.pt) + dotstyle);
label("$P$", (75.36485077371023,80.49715209824708), S * labelscalefactor);
dot((63.56322515264037,69.9530246987366),linewidth(3.pt) + dotstyle);
label("$A$", (62.58667985048987,68.66171320603937), SW * labelscalefactor);
dot((79.67650205911538,85.65950643704794),linewidth(3.pt) + dotstyle);
label("$C$", (78.4665520006434,86.78217826859188), NNE * labelscalefactor);
dot((75.23289367676819,89.72164306554374),linewidth(3.pt) + dotstyle);
label("$B$", (73.60588157775244,89.88387949551529), NW * labelscalefactor);
dot((77.7599506260836,71.04691358807975),linewidth(3.pt) + dotstyle);
label("$D$", (77.76869111916275,69.55957408751719), S * labelscalefactor);
dot((71.76498777176647,83.84695106154776),linewidth(3.pt) + dotstyle);
label("$J$", (70.09606176832807,83.35398217567653), SW * labelscalefactor);
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);
/* end of picture */
[/asy][/asy]
Meanwhile, inversion in $\Gamma$ sends $\odot(ABS) \mapsto \odot(A'B'S).$ Therefore, $\odot(A'B'S)$ is tangent to $\Gamma$ as well. Hence, $K \equiv XX \cap SS \cap A'B'$ is the radical center of $\Gamma, \odot(A'B'S), \odot(A'B'X).$ Clearly $KS = KX$ by equal tangents; also $KX = KP$ because $A'B'$ is the perpendicular bisector of $\overline{XP}.$ Therefore, $K$ is the circumcenter of $\triangle SXP.$ Thus, if $J$ is the reflection of $X$ in $K$, we have $(JP \parallel XU) \perp XP.$ By the converse of Reim's Theorem for $XXJ$ and $UPS$, it follows that $U, P, S$ are collinear, as desired.
_________________________________________________________________________________________________
Remark: This problem is essentially 2011 ISL G4, with $\triangle XYZ$ as the reference triangle.