The only way I know to get a locally cartesian closed category which is not a topos is to start with a topos and then throw out some objects so that the category is not sufficiently cocomplete to be a topos. Is that the only way there is?