Hi there,
So there is a timing issue with sketch update event. We will work on this for 4.13. In meantime, you can wrap the sketch.cancel in setTimeout function. You will see the graphic being selected before it is unselected.
setTimeout(function() {
sketch.cancel();
},100);
If the approach above does not work then you can set SketchViewModel's updateOnGraphicClick property false, then add your own hittest logic for updating graphics. This sample shows how to use custom hittest logic for updating graphics.