We have done it both ways...
On Christmas 2009, we surprised them with a cruise on January 15. They had about 3 weeks to process and get excited.
In October 2011, I woke them up at 4:30 am and told them if they got up and ready, we'd go on the Disney Dream. While they were excited, this was NOT our best cruise. My DD, 11, had trouble on that one with the clubs and making friends, and was basically glued to me and kind of miserable.
So, last summer, we included the kids in all of the planning, including the FE, and our June 2012 Fantasy cruise was the best one we've done. My older DD was able to meet a couple of friends online from the DIS before we left, so she had people she knew, making her more comfortable.
Only you know your child, and how he might react. I recently read something about how women don't like their husbands to surprise them with trips, that they need 7 days to process and prepare...I'm NOT one of those women, but it seemed valid. And, I've seen videos of children not reacting exactly how the parents want them to...
Either way, I'm sure you will have a fantastic cruise!
Have fun telling him, even if it isn't a HUGE surprise!