Maybe try the *Hook* solution? Hook the curve vertices to an empty:

[![enter image description here][1]][1]

Solution that doesn't fit your needs as your curve have different colors:

Create your curve. Create its profile (create a *Curve > Circle*, duplicate it in *Edit* mode). Select the curve, in the *Properties panel > Object Data > Geometry > Bevel*, click on *Object* and choose the 3 circle curve as *Object*:

[![enter image description here][2]][2]


  [1]: https://i.sstatic.net/axBTX.gif
  [2]: https://i.sstatic.net/W3xmo.jpg