For moving, you can create a state machine of sorts. Or flags, that say when the boss is moving.
i.e.
BossMovingToPoint1 = 1
Action: move the boss toward x/y
is Boss within 10 distance of x/y?
Action: stop boss
The only issue is doing some "tweening" or "easing" so the movement and stopping doesn't look so abrupt. Depending on what movement behavior you are using.. you could use some deccel or assign negative number to accelerate...
have you looked into the MoveTo plugin? This makes movements pretty easy to do..and I think it has easing built in..
Using Timers also will help to cascade actions in a timed way.. You can start the Timer when the boss arrives at a destination, then start a new timer(0.2) then do the next sequence.
Then you can create other flags that say which part of the cycle the boss is in:
Cycle=1 (he's at point A)
Cycle=2 (he's at point B)
Cycle=3 (he's teleporting)
that way you can even change the order at any point..