Bene, può essere che l'evento selectionchange sia innescato non tanto perché avviene il click ma perché di fatto sta avvenendo in qualche modo un cambio di selezione, anche se di fatto non viene selezionato un range di testo.
A questo punto, se non ci sono altri eventuali problemi collaterali, a mio parere puoi usare indistintamente o l'uno o l'altro, come preferisci![]()