[HTC 10 ROMs, Kernels, Recoveries, & Other Developm] GROOVYJOSHCLARK:
RUU is the most important when coming from another Sense OS to AOSP in my opinion as the partitions are funky and/or you are encrypted (if you allowed it to).

The issue you describe below happens because of encryption and the inability to mount /data coming from another OS. To fix this every time, format /data, reboot recovery, then format /data again clears it up (then I like to go about my cleaning with the process below but ONLY after /data is cleaned / fixed, you know its fixed when it mounts and will wipe / format cleanly without the RED error warning):

"I've notice sometime that when you wipe and then flash sometimes the partitions don't mount right so I've made it a habit to reboot into recovery twice after i wipe so everything is ok and mounted."

My process is to RUU (activate/update PRL if on Sprint), reboot at least once to make sure the band settings stick to "global or LTE", install TWRP, factory reset, wipe /system/cache/dalvik/data format /data, factory reset, wipe all again, format /data again, reboot into TWRP, then perform it again (same steps in that order), then reboot into recovery again and install OS/GAPPs/KERNEL(if using)/SuperSU/MAGISK(if using), once finished I also like to factory reset again, format /data, and wipe all partitions EXCEPT /system (as this now has the new OS you just installed) just to ensure everything is cleaned. Then reboot, do not install TWRP system app, configure OS, Nandroid once done and go about my day. I Nandroid to capture the latest work I just completed, I also make a copy of everything on the internal SD (including hidden files) to my EXTSDCard so when I Nandroid back, I copy those files back from the external to the internal SD so my device has all the needed files at the time I built my OS. This process works fully, every time, and basically reverts my device to the exact same place it was in when I finished the build initially, and replaces all files at time of build so my Android OS never knows it was restored, nor does the files, since they are all present. Over time, as I install or configure new apps, I will also capture those files from the internal to external, so when I restore my newer Nandroid, it would also be updated.

I mentioned a few pages back that my process is VERY strict, I follow this same strict/exact method EACH AND EVERY time, and never have issues. I never have any deviation from what I expect to happen because I always follow my tried and trued tested steps.

As a tidbit of info, I use Carbonite SMS backup before every restore process to backup my TXTS/MMS, and restore on recovery of Nandroid so I never lose a message. I use TiB for app DATA only, then recover app DATA after Nandroid so I never lose any progress or app data either. This keeps my messages and apps the same and updated but allows me to Nandroid and recover to the exact point in time while allowing me to test any OS and always be able to return back to my "golden" Nandroid without losing a beat.

Like I said, I use strict rules and guidelines but it works flawlessly if you have the patience and self-control to follow them, this has been used since the Android ICS ERA and works every time!