In the ELEMENTAL EVIL example, I think that it's fine to determine a means of retraining an existing cantrip (I'd determine a story reason, as DM, if it came up) if the game introduces a new cantrip that the player prefers for the character, the issue there being that the cantrip didn't exist for the player to choose from to expend limited character resources on. However, if the player wanted merely to add an additional cantrip – whether one from the PLAYER'S HANDBOOK, ELEMENTAL EVIL, or any other source, I'd go with using the Magic Initiate feat (so that the 13th-level Wizard would have to wait until 16th level), since that's the mechanism to add new cantrips to the repertoire of a character (remember that the strength of a cantrip is character-level based, so any new cantrip is well more potent than a 1st-level spell spent in a 1st-level slot).