Fix 2015 Moto G (3rd Gen) Unresponsiveness
I upgraded to a 3rd generation Moto G last year, but performace has been quite poor (Despite a faster chip and the same amount of RAM). The system would frequently be unresponsive and occasionally reboot unexpectedly. Apps would often freeze, including the System UI.
Today I figured out what the issue was: I was keeping several apps on the SD card using the adoptable storage in Android 6 (Marshmallow). However, after a factory reset when I attempted to reformat the SD card as internal storage, Android told me that it was slow and I might experience performance issues. Aha! I cancelled the formatting and instead formatted the SD card only as portable storage (for photos), and performance has been snappy ever since!
To verify that the factory reset hadn't been responsible for the much-improved performance, I reformatted the SD card in my wife's Moto G as portable storage as well (her phone had been experiencing similar problems). The system responsiveness also increased significantly and we haven't had issues since.
Conclusion: a slow SD card can cause serious performance issues when used as internal storage in Android 6 (Marshmallow). By reformatting my SD card as portable (rather than internal) storage my Moto G's unresponsiveness was fixed.