" Why send email to customer if he self send request ?"
Because this is what the site owner wants
Or the customer needs a written confirmation as a proof of the order. Or for any reason.
Of course I can add the snippet, it's only a few lines but it's removed on an update. This is why I suggested implementing this as a core function. A simple yes/no param could be handle the backwards compatibility and your extension would have a new, nice function.