1. Sunroof motor coming loose is exceedingly common, virtually universal. However, it should make a noise. Maybe a blown fuse as well. Maybe a bad switch. Easy fix in any case. If a problem with the moving roof on its tracks, this would be very expensive; it's unlikely, though.
2. Odd shake or...