I don't know whether you'd consider it more "elegant". It IS shorter. It's not quite as fast as ↓ of a 2-column matrix because ↓ can exploit the regularity that is not practically detectable by ⊂.
Hi, Roger's solution may be made slightly shorter by x⊂⍨2|⍳≢x but this means that (⎕ML ⎕IO)←0 1 (and I'm quite sure that Roger won't use 1 for index origin..)
Tricks aside, you may use either Dyalog partition {((≢⍵)⍴1 0)⊂⍵⊣⎕ML←2} or APL2 style {((≢⍵)⍴2 1)⊂⍵⊣⎕ML←3}
Thanks Veli-Matti and Roger, I learned a little bit more about partition today and the interaction of ⎕ML. Since we are using ⎕ML←3, the expression {((⍴⍵)⍴2 1)⊂⍵} is what I was looking for.