Well, instead of being sarcastic you can try to educate us all and tell us what else is involved in moving a thread from one one core to another core on the same processor. In your esteemed opinion. I am looking forward to it.
It's not "what else", the real problem is "whether to". In a dynamic system, you can do more damage to performance by moving a thread than you gain.
And, even if systems had the ability (which they don't), you wouldn't blindly do a block-move of one processor's L2 cache to another's L3 cache. Not only is this of questionable value (you'll likely push out some good data and copy a bunch of bad data), but it ignores the L1 cache.
If you're really curious, take some graduate level computer hardware and software architecture courses. Aiden doesn't have the time to type it all in.
Not meant as sarcasm - but there's just such a huge gap in knowledge visible here that I can't hope to bridge it.
Apple doesn't have to make hyperthreading work in any optimal way; all they have to do is make it work better than no hyperthreading at all.
If they do nothing, at times the system will be slower with hyperthreading on than with it off.