This is a very open ended question, so I’m just going to ramble about PS and some tools and techniques that I think might help!
I find a problem with naturalistic shading in PS is that it has the worst color picker tool possible.
Look how gross that gradient is, you don’t want to paint with that (caveat, I still use this because I just got so accustomed to it I can find the exact shades I want, but it isn’t convenient and I don’t recommend it)
This page offers a brief comparison of popular plug-ins that can make color selection feel more natural!
Easy way to check your values is bringing up the levels tab. If it looks something like this:
All your information is in the mid-range, and you’re missing dark and light values (there are times you may want this, but if you find your painting looking flat the culprit might be here). It’ll even offer you some suggestions on this menu:
Or just drag the sliders until the value range looks better (note if you make a lot of changes here, you’ll probably want to go manually touch up any subtle shading you did before that got blown out through this process)
Another tool to play around with is curves:
Make that line a wiggle until art looks dynamic and deliciously contrasty.
So say you have a nice range of tones now, but the shadows are desaturated/wrong hue/just generally gross? Under ‘new fill or adjustment layer’ > ‘selective color’ you can adjust the specific shade for each color or value information. For example, these settings:
would make the darkest pixels cooler and more vibrant. Likewise, selecting ‘whites’ would edit the highlights.
As for textures! You’re going to want some outside tools for this, PS itself isn’t going to offer you much help.
Get yourself some brushes (just google something like ‘free photoshop brushes’ maybe add ‘pencil/chalk/grunge/etc’ depending on what you need)
And get some texture images to have on hand (again, google is your friend, but also sites like cgtextures mayang textureking etc are well worth browsing through)
You can use these to define a pattern and then add them to brush/paint bucket/etc tools
Hope some of this was useful!