Premature cancellation? I think Pfizer is working on a drug for that. No, wait that is something else.
Sorry, couldn't resist.
Do you have an asymmetrical cancelation problem (sounds like another Pfizer joke coming)? As in, early cancelation commonly occurs on left hand turns and rarely on right hand turns? If so, then that is in part due to the nature of the design of the system. The turn signal cancelation unit is triggered by two contacts actuated by a cam on the steering column shaft. The two contacts go through a series of off- on sequences as the wheel is turned and then on-off as the wheel is turned back. According to the service manual, the off-on sequence starts at 60 deg of steering wheel rotation (in either direction) and is completed at 90 deg of rotation. The turn signal cancelation controller 'counts' the off-on sequence as you turn the wheel past 60 deg to 90 deg and then counts the on-off sequence as you rotate back from > 90 deg to < 60 deg. When the controller determines that the full range of off-on followed by on-off has been completed, it cancels the signal. On right hand turns (in North America) you typically turn the steering wheel way past 90 deg and don't enter that 90-60 deg range until you are well through the corner. On left hand turns, the turning radius tends to be much larger with the result that the steering wheel may initially be turned to 90 deg or a little more; but, if there are any steering corrections the wheel may rotate back and if it rotates back to 60 deg, then it will cancel the signals. I find that this type of early cancellation is most common if you have a very large radius turn, typically if you are turning from a center left turn bay across 3-4 lanes of traffic. That 30 deg window from 90 to 60 deg is relatively small.
You should be ale to test the correct operation by doing static turns in your driveway. Engage the left signal and turn the steering wheel to the left by slightly more than 90 deg. Then slowly rotate the steering wheel back and watch for the cancelation point at 60 deg of rotation. If the cancelation is occurring at roughly 60 deg, it is pretty much operating as designed. If the cancelation is occurring at more than 60 deg (i.e. you have less than a 30 deg window) then you could have dirt on the switch contacts, wear on the contacts, wear on the thingies that ride on the cam and actuate the contacts or perhaps the cam / steering shaft has somehow become slightly offset due to some maintenance work.
If your early cancelation is not following this type of pattern, particularly if you get early cancelation on tight right hand corners, or cancellation without steering wheel movement, then something else is at play.
I suffer from the misery of premature cancellation turning left. About 5 years ago I pulled the contacts out for the controller and cleaned them up and lubed them. There was a fair amount of accumulated crud on the contacts. This cleaning seemed to largely eliminate the premature cancellation problem for a while (or wishful thinking that I had actually accomplished something). The cancelation problem is back. I don't think it is as bad as it was initially; but, it has definitely deteriorated. However, getting the contacts out to inspect and clean them if necessary involves getting under the dash to remove stuff and it is not that big of a problem that I am motivated to do that.