Array a collection of objects along a curve
To array several unique objects in order, you can use several instancer objects with different offsets along the curve.
Instancers
For my example, I'll use three planes all with their origins at the center, but of course, you can use as many instancers as you have objects that need to be instanced.

The only important measurement here is the offset between the planes.
Array
Add an Array modifier to the first instancer with a Constant Offset that is set to the distance between the planes times the number of objects you need to array (in my case, three times the distance).

Curve
I used the Add Curve: Extra Objects add-on to create an Archimedean Spiral using these settings:

To perfect the curve, I rotated the start and end handles around the Z; then, I used Individual Origins to scale all of the handles along the Z.

Finishing Up
Add the Curve modifier to the first instancer and set the array Count parameter accordingly.

With all of the instancers selected, press CtrlL for the Make Links menu and click Modifiers.*

If the tilt of the curve is not right, you can set it to Z-Up. I further adjusted the curve's tilt in edit mode using CtrlT.

All that is left to do at this point is parent your objects to the instancers and set them to instance by faces.

You can also angle the instances by rotating the instancer meshes in edit mode.

Ta-da!


* Modifiers cannot be linked, so it is actually copying not linking.