there's another option you're missing which doesn't involve storage
When you do your interleaving in a literal way, think of it as the sum of 3 signals: A,0,0,B,0,0,C,0,0,... 0,1,0,0,2,0,0,3,0,... 0,0,!,0,0,@,0,0,#,...
Those signals are versions of the original, except pitched down by factor of 3, with an additional bit of harmonic content, and then added together.
If you didn't want to pitch down the signals, and you know that your osc~ frequencies are low (< 4kHz should be enough) you could just multiply by 1,0,0,1,0,0,1,0,0 0,1,0,0,1,0,0,1,0 0,0,1,0,0,1,0,0,1
and add them up. If you DID want them pitched down by factor 3, you could adjust your inputs to osc~ to freq/3
And you can do it with a single fexpr~
[ fexpr~ ($y1+1)*($y1<2); $x1*($y1==0)+$x2*($y1==1)+$x3*($y1==2) ]
That object takes your 3 input signals $x1, $x2, $x3, makes a counter in the first output $y1 (0,1,2,0,1,2,...) and the 2nd output $y2 has your interleaved signal ($x1[-1], $x2[0], $x3[1], $x1[1], ...)
I'd say, give it a try, it's a nice idea, but the high frequencies you're going to introduce may be harsh and in the range of 8kHz and up... and the result in the low frequency range won't be much different from simply adding them up.
Chuck