Photos, product content etc. will all remain. But you will need to redo your Theme settings, any theme customisations you've done and you may need to reinstall any apps you have added where they have injected code into your theme (so usually just apps that do something on your frontend like reviews, pop-ups etc.)
Best bet is to download the new theme/s and test them out in preview mode before deciding to send live. Also duplicate your current theme so that you have a backup.