There can never be one key that a singer is happy in for every song they sing. That's simply because each song, in whatever key, has its own range - between the lowest and highest notes in that particular song.And just because D works for you for a lot certainly doesn't mean 'that's the key I sing in'. I've heard too many singers say that. It will certainly be true for some songs, but never all.
Given that a singer knows his/her vocal range, (and an awful lot don't...) makes it quite easy to determine a good key for a new song. Most songs will have their own range of less than two octaves.So set your own 'base' notes as F3 to C5. That should cover most songs.
Search through the song to find its lowest and highest notes. Then work out how far off your range that song's range is. Move accordingly, and there's your new key. For example, if a song has its highest note as G5 (too high by five semitones) and it's already in, say, key A, then you'll need to transpose it into key E (lower by five semitones).
There will be songs that do exactly what I've described, but dropping them down that far then puts the lowest note too low! That's why I suggested having a margin top and bottom of your existing range.
However (there's often one of those!) the tessitura of some songs can rear its head. That's a place in some songs, where there is a concentration of high (or low) notes. They may well be at the limits of your range, making it tricky to sing. That says a song has a 'high' or 'low' tessitura.
Another however is that some words or syllables are not easy to sing - particularly at the high end. So it is sometimes worthwhile dropping the whole song another tone or so, to alleviate that problem.
So, while there is a sort of scientific way to establish a good key, the trial and error will still come into the equation! And the problem never goes away! Working in 4/5 part harmony groups is more fun, as compromises crop up all the time - find a good key for four and it's out of range for the bass voice, for instance!