Personally I like to use bools to determine if a player is doing a certain action then based on the bools do an if statement. For example when a player presses a movement key a bool named ismoving would be set to true. When the movement key is released the bool is set to false. Then have an if statement check to see if these statements are false. If false then the player can perform whatever actions that required to be standing still.
To cancel it I would think while the channeling skill is being performed have a bool ischanneling set to true. Then an if statement that says if ischanneling is true and ismovement is true then cancel channeling move and set ischanneling to false.
More conditions for canceling / performing chanelling moves would just need more bools.
I made something kind of similar for a slide mechanic in blueprints. Only when the character is sprinting can the slide be performed. If you think it may help I can share some screenshots.