I use a global 120 fps cap through nvcp
if i want to play at specific framerates such as 36/40/45, I use NVCP as well. for some reason feels more smoother than Rivatuner in most cases. (completely subjective personal experience).
if I'm certain I can hit locked 60 or 120, I tend to use in-game caps (if in game cap also presents specific values such as 40 45, I tend to use in game caps). in game caps usually offer the least possible input lag and most responsive gameplay. if i want to play at 30 FPS I usually use in game caps unless the frame cap is busted
I still use rivatuner from time to time but usually in older games. newer games I tend to go with NVCP.
by the way, NVIDIA's framecap is super GPU-power aware. if you do not care about input lag, it can severely reduce core clocks and save power. in most cases, NVCP frame cap will force GPU to work at %85-90 with reduced clocks. this is an interesting behaviour that can be observed with 2000/3000 cards. i find the input lag bareable with gamepad. for FPS games, i find it unberable.
if you're startled by the input lag this behaviour produces, you can force prefer maximum performance alongside with the cap
example
its practically a smart cap that will reduce clocks EXTREMELY. it will always push clocks in a way to maintain that 36 FPS cap. usually, reduced clocks only happen at certain thresholds of GPU usage. this is not however related to GPU usage. this will always aggresively reduce clocks. I actually find this a very good and overlooked feature with NVCP frame cap. it is weird that i've seen no one mentioning this. could be that most people do not use such low caps for any game or whatsoever (im a weird niche user so yeah)