No, you can't do this without rooting or installing a custom ROM. Some apps allow you to select from predefined themes within the app, and you can install a custom launcher to change the appearance of the home screen and app drawer (the list of apps), but you can't change the appearance of all apps.
If you could, there'd be no way for app authors to know what the app would look like on users' phones. For example, if an app had light-coloured background artwork or photo, with dark text, and you changed the text to light, it would no longer show up against the background image. People already complain that Android apps look less polished than iOS apps, and this would be even worse if app authors had to worry about text colours being different on different users' devices.
Samsung phones have an accessibility feature that colour-inverts the whole screen, in all apps. Even this doesn't quite do what you want, because of course if the app started out with light text on a dark background, it would be inverted to dark on a light background. It also makes the device pretty useless for looking at photos or other artwork, and makes colours ugly in all apps.