As the title says, does anyone know how to prevent this?
May be helpful if you run this command after a restart, to let us know which service is causing the slowness:
systemd-analyze blame
It’s also a good idea provide your system information:
Thanks for the reply. I’ll do that next time I feel my system slow.
But is there a way to do a “full reboot” when hitting the reboot button?
You can try REISUB instead hitting the reset button if your computer is hung:
I’m sorry, I expressed myself badly.
When I said reboot, I was saying clicking on the system restart button (on the menu).
Really surprising… 
Hope you can try the systemd-analyze blame command to see what’s going on.