I believe you're looking for org-refile (bound to C-c C-w). By default, org-refile will only consider the current file. To refile into another file add the target file with your desired headings to org-refile-targets:
;; Add the current buffer as possible refile target ; only consider up to level 2 as target.
(add-to-list 'org-refile-targets `(,buffer-file-...
A basic option is to use append-next-kill.
Rather than killing each region with just C-w (or similar), you instead use C-M-wC-w (i.e. type C-M-w immediately prior to whichever kill command you're using) to append the new kill to the most recent kill ring item.
Do that for every region in sequence, and then a single C-y will insert the whole thing.
C-M-w runs ...