2
I don't know whether theme choice is stored in a cookie. If this is the case, you could make the cookie last forever just modifying a line of code (whatever line of code set this cookie, that is).
Storing in user profile involves db modification and minor hack of the core.