I need to do what you describe quite often. My goal is to do everything from the agenda view, i.e. having to go to the org source files as few as possible.
In order to insert a colck interval for a specific task I use
helm-org-agenda-files-headings (mapped to a keyboard shortcut) which allows me to find tasks very fast. I have defined an additional helm action for this:
;; extend helm for org headings with the clock in action
(defun dfeich/helm-org-clock-in (marker)
"Clock into the item at MARKER"
(with-current-buffer (marker-buffer marker)
(goto-char (marker-position marker))
(cons "Clock into task" #'dfeich/helm-org-clock-in))))
This inserts a clock interval with clock-in and clock-out times set to the present time. I then use my own module org-clock-convenience (also available from MELPA) to fast adjust the times directly from the agenda view screen (need to have log lines enabled):
This involves first moving the initial time somewhere into the range between the clock out of the previous task and the next task, then hitting
g (this rebuilds the screen with the task now being correctly placed in the interval). Then using
org-clock-convenience-fill-gap-both to have clock-in and clock-out expand to the full iterval.
Maybe have a look at the animated gif on the org-clock-convenience module page to get an idea how the clock modification from the agenda buffer works.