This can be done by matching the beginning & end of the region, removing when found, adding when not found.
The following example is a generic function which takes arguments which can be set for each major-mode.
(defun my-comment-multi-line-toggle--impl (head tail head-regex tail-regex)
"Utility for toggling multi-line comments.
Argument HEAD Start ...