I don’t know if there is a good guide for theming referred to ionic.
But I can describe my way of styling ionic, maybe it can help you.
First of all I try to keep styling as simple as possible. Thats why I avoid using style tags in templates (html), page/component specific scss files and component decorator styles.
I use variables.scss for adjusting or adding sass variables.
I use app.scss for most of the other theming.
I prefer css classes over id and element selectors in my app.scss.
When I want to adjust ionic components, ether I use chrome dev tools to look what classes to change or I go to ionics github repository and check the code files for that component. I prefer the latter because you can see, if sass variables are used. With chrome dev tools you cannot see this. It also improves your understanding of ionic if you scan its source code often.
Last but not least I use the ionic docs and especially the overwrite sass variables page for finding sass variables I want to change.
If you want to know more about themes or sass functions and mixins used in ionic, node_modules/ionic-angular/themes is the place to go. Here you find for example the content that is imported by
@import "ionic.theme.default"; in the file
ionic.theme.default.scss. I think that import statement also loads
ionic.theme.default.OS.scss depending on your operating system.