I would suggest you to enter "neopixel" into the "Keyword Search" field at top of this page. There you will find some ready-made solutions for your problem.
Not sure why the trigger is taking so long, is it the latency of your generation
of the trigger ? Is the trigger asynch to the period completion of the PWM ?
Insofar as other aproaches, a registered LUT might be able to do it. If
your duty cycle is fixed at ~ 33% thats a 3 bit counter LUT.
If you google "WS2812B PSOC" you will see a number of hits, one at element14.com
that is a PSOC 4 solution.
Another idea: the TCPWM module can hold two different sets of period / compare values, and you can select these with a pin. So if you set the periods to the same value but a different compare value, you can select with just a single pin how long the next pulse is (the switch happens at the next TC event).
(The UDB_based PWM has a similar functionality
Thanks all for the ideas.
Dana, you got me thinking about how i am re-triggering the PWM module. I will take a look at it tonight. Also, the LUT approach sounds like a good idea too.
Post your final solution, we would all benefit from that.