We've done both-- they're great! I would recommend the 3-night over the 2-night, if it works for your budget... it naturally feels a little less rushed. But the 2-night is fun and relaxing, too! Disney does a great job of condensing the events from a longer cruise. You will get Pirate Night and fireworks. Our 2-night was a Halloween Time cruise, and it included trick-or-treating and the Halloween Tree and everything.
You can board the in the afternoon on the first day and enjoy lunch or some pool time even before the ship leaves port-- just try to get an early Port Arrival Time so you can maximize your time. Enjoy!