Actually, it’s a CS bug.  It is SUPPOSED to be the case that ! would terminate a sentence, just like .   . But it wasn’t marked internally properly.  What you should be seeing is two sentences. The first is:
Great
The second is:
I like it
In both cases, the terminal punctuation is swallowed into the tokenflags, and then you could match the exclamation by 
u: (great \!)  
where the location of \! doesnt matter, because its actually a flag, not a positional token.  Next CS this weekend will fix this. 
Now there remains an issue if you set tokencontrol to prevent ! being a terminator. Then you have no way to match it. I will figure that out too.