We surprised our kids in Nov 2013 - we planned it since April of 2013, so about 6 months. The kids were 13, 9, and 7 at the time. 8th, 4th, and 2nd grade.
We only told who we needed to tell, first of all. As the date got closer, we talked to their teachers (they were missing 3 days of school) to let them know and made sure they knew it was a secret. Same with the daycare lady. We planned the trip so that it was after their main sports season (all played int he same league at the time, as both DH and I coached, so we were good with the schedule).
We were OK with the mail - I just called it all junk mail/advertisements, so the kids saw it but didn't care or think about it. The Magic Bands came in a brown shipping box - my 13 year old picked it up and brought it into the house, but didn't investigate.
We dropped little clues all the time, but the kids never really picked up on them. We had a ton of fun on the way to the airport remembering all of the times I had said something that totally made sense once they knew, but they had no clue at the time!
I packed their clothes in bags and suitcases and just put them right back into the closet. It was easy for us because it was November and they didn't miss their summer clothes or wonder where they were, so I was able to pack a week or two early.
The morning of, we got the kids up and ready like any other school day, and at the last minute, we told them to sit on the couch instead of getting into the car. We made goody bags for each kid with a copy of their plane ticket, snacks, new toothbrushes (so I didn't have to pack their regular ones!), a Disney Giftcard each, and things for the plane like Invisible Ink books and stuff. We wrote parts of a quote on the front of each bag for the kids to read in order:
"Who's Got It"
"Better than US?"
"NOBODY!!!!"
Then, on the back:
"We Are"
"Going To"
"DISNEYWORLD!!!!"
They were all like "awesome! This sounds fun!" but it took about another minute for them to really realize what was going in. DH told them to open their bags, and DS13 finally read the plane ticket and saw the date and time and said "Wait...we are going TODAY?" and we said - yes, tell your brother and sister what you just figured out, so he did. DD said "Today??!!!??", and little DS says "Where? Where are we going?" LOL He's apparently a little slow to pick up on things sometimes!
Then chaos broke out and we had kids jumping up and down and going crazy

We showed them their Magic Bands and said they had 10 minutes to pick out ONE thing they would like to take with us, but the rest of their bags were packed and ready to go. 10 minutes later, the second surprise came - we told the kids to look out the window so they could see the car we were taking to the airport - and there was a white stretch limo in front of the house! (almost literally pennies more than a regular 6-passenger taxi cost, but we totally looked like the awesome parents! haha!).
We have this all on video and I still love watching it over and over. But warning - I completely ruined them for a while. Every time I said anything, they automatically started looking for double-meanings and surprises LOL. I told them once that their grandma was on her way over to give them some ice cream she had bought, and you would have thought I just announced we were going to Disneyworld!

Oops!
They loved it so much they still to this day ask us to plan another surprise trip. But they are older now- oldest is in 10th grade and almost driving, so it's getting hard to plan around everyone's schedules!