CDG-Zürich is not an easy one by train, honestly.
Trains from Paris (center) to Zürich use the LGV Sud-Est, go through Dijon, then on to the LGV Rhin-Rhone, Mulhouse and Basel (red on the map). They still take a bit over 4 hours.
Most trains from CDG going in that general direction either run on the LGV Est towards Strasbourg (blue), or the LGV Sud-Est down towards Lyon (more often Lyon Airport, I believe), green on the map. However, there are no stations in the shared red/green segment.
There is indeed a train going from CDG to Mulhouse, but as you noted, it's a bit too late for your taste.
So you could take a TGV from CDG to Strasbourg, then TER down to Basel and an IR to Zurich (depart CDG 18:28, arrive in Zurich 00:24).
The other option is to get from CDG to Paris Gare de Lyon where you can get a direct TGV to Zurich (depart Gare de Lyon 18:23, arrive in Zurich 22:26). Timing in Paris is a bit tight, though, you would need to be at the CDG TGV station by 17:20 to have a chance to catch that TGV, and you are dependent on the notoriously unreliable RER B and D.
Not really sure there are any other easy options, you probably would have to go through Lyon and Geneva, which is quite a detour.
Note the SNCF site will not show connections with more than 2 changes, while the DB or SBB sites will.
I really think your best option here is still to fly from CDG to Zurich.
If you want to split the trip, you can either stop in Strasbourg, Basel, or anywhere the TER Alsace stops in between.
For instance, the 18:58 train at CDG arrives at 20:58 in Strasbourg. You then have many choices for Strasbourg-Zürich in the morning the next day.