What is the best order of content deletion on Drupal sites? Whenever I try to clean up a site.

I delete stuff in the wrong order, and then the site breaks.

Any guidelines on how to do this?

Content first, then content type? Blocks, views, what to delete first and in what order so things don't break?
Yes, delete content first, before you delete the content type. It won't actually break anything in core Drupal if you do delete the type first, but you'll end up with orphaned content; which can be a pain.

Beyond that it comes down to what custom/contrib modules you have installed, and how they're being used. There are hundreds of modules that make use of nodes/content types, all in different ways, so whether or not you would need to do anything specific for each of those depends on the module itself, and what it's expecting. 

For example, deleting content and content types may or may not break a particular View, depending on how it's configured (maybe there's a custom preprocess function relying on the content type field not being empty). 

Deleting a content type provided by a Feature might break something in that feature if there's custom code relying on it. 

Blocks don't have any relation to nodes/content types by default, so if you have something installed which connects them, you might need to do something specific to avoid that module producing errors.

TLDR; there's no single answer - list out the modules you have installed, work out which ones of those have interaction with nodes and content types, and come up with a basic plan of action for each that you follow before deleting. 

If that's too much work, then just make sure you remove everything in your site that relates to those nodes or content types before deleting them.