Depends on the complexity of what you're doing. If things won't change much, NGUI will have an edge. If things will change every frame, Unity's 2D stuff will likely have an edge. If you just want a simple animation, use UI2DSpriteAnimation or your own custom logic. If you want complex animations, you'll likely be better off with Unity's 2D stuff.