The reason for this is purely a code logic issue. Currently there is nothing stopping someone from continuing a channeled skill if the target goes in to stealth during that channel. Only Anet may know how easy this is to fix. I suspect that it would require the game to check a boolean 30+ times per second.
I can’t look into the code of course. But checking a boolean 30+ times per second is always a bad thing. For this kind of stuff they tend to use something like an observer pattern. The observer pattern is a very known pattern so I wont go into detail much.
E.g. (dumbed down since of course stuff will be probably way more complicated)
2 Instances of Character lets call them Object X and Object Y.
When a skill get’s used by Object X on Object Y. The channeling of the spel will start running. At this point Object X registers itself at Object Y (Object Y will have a reference to Object X). Now that Object Y has a reference to Object X, we can say that when using a stealth skill. Object Y will update the state of the skill of Object X into “cancelled”. And then the skill would be cancelled.
The Observer pattern is commonly used for solutions where you would need an Object to constantly request for the status/state. For in your example you could register Object Y in Object X. And then during the casting of the spel check if Object Y is in stealth or not. But that’s generally seen as a bad practise.
Anyway, back on topic:
I hope stealth will get removed, I’ve a problem with skills that offer a very limited amount of counters. People for some reason dont seem to understand, that when playing a thief you have the option to get into or out of the fight with a single press on the button. Any class that has all the options available to disengage/engage against other classes are imbalanced in my opinion.
e.g.
I’m a thief, dragon rank and all that 1337 stuff. I’m playing against other players of the same level. This means I can expect to win the good matchups, lose the bad ones and 50/50 on the others. Now I got the option to Capture point A. The enemy player defending there runs a common build which I know I can win. I as thief now know I will capture point A. While disregarding the positions of the enemy team. Why? Cause I know that when I engage I will win that fight and capture A. When someone else joins in the fight I get in a 1vs2 and I will stall. Giving advantage over the other points on the map cause we have more players. Except stalling I also got the option to go in Stealth and run away. This will give us a brief moment where we got an advantage at the other points (2 players at A) and I got safely away and can move on or even wait till I can try capturing point A when the 2nd player has left.
The fact that as a thief, you can disengage at your pleasure and can’t get caught by 2 players. Gives you so many options when capturing points. I sincerely hope stealth will be given more counterplay when new weapons are going to be added…