サブビューがネストされたNSView、NSScrollViewsにCALayerアニメーションを設定しただけで、問題なく動作します。重ね合わせたビューに制限があると思います。(後者の問題は、描画順序が指定されていないことです。どのビューが上に表示されるかは予測できません。)
ただし、サブビューにも変換を適用する場合は、サブビューのレイヤーを個別に設定する必要があります。または、はい、サブビューをダンプして、すべてを単一のビューのCALayersに配置することもできます。境界と位置のプロパティを使用して、サイズと配置を制御できます。(アンカーポイントを変更しない限り、位置は左下ではなく中央からであることに注意してください。)
レイヤーホスティングを行っている場合は、変換をルートレイヤー(view.layer)に適用しないでください。代わりに、新しいCALayerを作成し、それにコンテンツを追加し、それに変換を追加して、それをサブレイヤーとしてルートレイヤーに適用します。ルートレイヤーを直接操作することは避けてください。
レイヤーホスティング設定のクイックサンプル:
// Set up the root layer.
[[self.aViewController view] setLayer:[CALayer layer]];
[[self.aViewController view] setWantsLayer:YES];
// Set up a sublayer.
CALayer *sublayer = [CALayer layer];
[self.aViewController.view.layer addSublayer:sublayer];
// Repeat if you need additional sublayers. There's a name property if you need to distinguish between them.