It seems as of Emacs 25, there are no hooks in posn-set-point to do something custom before or after point has been set/moved.  How about modifying posn-set-point like so:

(defun posn-set-point (position)
  "Move point to POSITION.
Select the corresponding window as well."
  (if (not (windowp (posn-window position)))
      (error "Position not in text area of window"))
  (run-hooks 'before-set-point-hook) ; <-- ADD
  (select-window (posn-window position))
  (if (numberp (posn-point position))
      (goto-char (posn-point position)))
  (run-hooks 'after-set-point-hook)) ; <-- AD

I can imagine both global and buffer-local uses of such hooks, such as logging where point has been and highlighting elements selected within a buffer.  I have done some testing with it and I like it.

If this is to be added, I would prefer that a core committer add it since it is in core code.

Bob