Other posts have given the analyses on how to increase your odds of catching the boss once it's in the premium ball, so the obstacle here is actually getting the boss inside the ball. It's very clear that catching raid bosses is already difficult enough given their base catch rates, but it adds a whole new degree of difficulty when the boss can attack again in the time it takes for the ball to travel from finger to pokemon. My tried and tested solution is to throw during the window of time in which the boss cannot move, which is milliseconds after it finishes an attack animation.
Tyranitar attacks by thrashing its head and then lowering his nose as if biting at the screen. I wind up a curveball and continuously spin the ball on my screen until I see a medium-sized circle disappear (a great throw) as the attack animation starts. As soon as the Ttar's head hits the lowest point of the screen, I let the ball fly and in the time it takes for the ball to travel, and the circle reappears milliseconds before the ball hits but before the attack animation has fully finished as well.
I hit a great curveball 9 out of 10 throws. If I feel like my timing is off, the circle is too large, or the circle is too small, I just keep spinning the ball until another suitable attack animation comes along. After a little bit of practice, I'm up to 14 successful Tyranitar catches and sharing the technique with my peers. Most folks have already found immediate results for landing the ball, although it takes some practice for nailing the nice, great, or excellent throws.
Video example 1:
(Minute 3:30, perfect timing)
Video example 2:
(Good example of the holding pattern, late timing)
If this tip is so intuitive that you've already figured it out, I commend you for your skill. If you are still having troubles landing those premium balls on your target though, I wish you best of luck so that you may implement this practice.