Another possibility would be the use of OnGUI.
There you could use an animated alpha value and draw e.g. a simple black texture. Would work for the whole scene not only for NGUI elements.
GUI.color = new Color(Color.black.r, Color.black.g, Color.black.b, Mathf.Lerp(1.0f, 0.0f, alpha));
GUI.DrawTexture(new Rect(0f, 0f, Screen.width, Screen.height), theTexture);
Stephan