Additional question: Can I achieve 3,000 channels updating at 40 - 70 Hz using the arduino and TLC5940 setup as I intend to?
Assuming you can write code that keeps the outbound pipe saturated, the maximum data rate is fosc/2 which is 8 Mbps. Assuming you want the full 4096 gray-scale the total number of bits is 2976 channels * 12 bits = 35712 bits. That gives: 8 Mbps / 35712 bits per frame = 224 frames per second.
If I remember correctly, you will not be able to use the typical TLC5940 library. I believe, with two TLC5940s, it uses more than half of the CPU time.