I have had good experiences with Expedia.com who will offer you choice of certain cabins. If they don't offer what you want, try cruise.com, then yahoo travel. They all offered us different choices....as did Princess. Several times when Princess balconies were sold out these agencies still booked us balconies. Upgrade? We have just booked our 19th and 20th cruise and have never been upgraded.