I can't think of a way you could do this. If you destroy the device you pretty much pull the rug underneath CEGUI's feet away, because the resources are created on that device. If you switch devices, you would have to put a new rug underneath CEGUI before it tries to do anything, and it will have to have all resources in place like CEGUI did before (or alternative u will have to set it all for CEGUI). This is fairly easy to do yourself for textures as we (afaik) have functionality to retrieve the memory for CEGUI textures so you could just add a new texture and feed it the same data agin. I am not sure what exactly would be needed on D3D9 for all the rest. And I am not sure how much time it would take to add all the calls for "copying over" the data.
So yea, what I would do as well is to just nuke CEGUI and reload it. To speed this up dramatically, you could evade a lot (maybe all) of the resource reloading by caching as much data as you can, such as the aforementioned texture data, also the glyph atlas, etc., or just not do that if the speed is already somewhat sufficient (how often does a player go Fullscreen and windowed anyways).
Sorry if this answer was not satisfacory. I guess CEGUi was not perfectly set up for such a specific use-case

(besides, as you said this is just legacy situation anyways)