The Sapphire Nitro+ you are looking at is currently the best one you can get from any manufacturer, if you get an AMD GPU. Be advised though that there are two versions of the Nitro+ that Sapphire makes, and one is slightly more overclocked than the other, so do your research and grab the faster one if you choose to go that route. As for the components other than the CPU and GPU, the only change I would recommend is to consider getting a Noctua air cooler for the CPU. Those are great. Research it carefully first to see if you think it will fit in the case you are looking at, as they are rather large.
As for the CPU and GPU, I urge you to wait until both of the new 5000 series CPUs and the new 6000 series GPUs are out before building, if you can wait a month or two. These will be so much better than the combo of the 3950x and the 5700XT that it will be worth it, although that is still a very good and cost effective combination for gaming. The combo of the 5000 series CPUs and the 6000 series GPUs is going to be way better though, because on that motherboard chipset that you are getting they will drop in, maybe with a mandatory BIOS update for compatibility, but most importantly, the CPU and GPU will be able to access each others' memory. So the CPU will be able to access the 16GB of video card memory that the GPU has, and the GPU will be able to access your 64GB system RAM. It will be so much better than the 3950x and 5700xt combo that it's not even funny. AMD is claiming that the new CPU alone will run games between 5 and 50% faster than a 3900x CPU [which is what I currently have, and a total beast], depending upon the game, without upgrading anything else. Typically you would not see much more than a modest 5 to 10% gain regardless of the processor upgrade, but this is apparently a different kind of thing. Combine that with the new GPU looking like it's going to be similar in performance with a 2080 or 3080 depending upon which model you get, plus the ray tracing support, and it'll be a great leap forward. I wouldn't get the current generation. Sell yourself to complete strangers, do whatever you have to do to get the new generation. What worked for me to get my current 3900x CPU the week they came out was to subscribe to an in stock alert at Newegg.com, and I was lucky enough to be able to have my personal laptop next to me at work, and watched the emails. I saw the email alert come in that they had them back in stock as it appeared in my inbox, and got one of the second batch that came in, which was sold out within seconds of me clicking submit on the purchase. Hopefully the stock situation will be better than what's going on with the Nvidia release. I plan to upgrade my machine to the new CPU and GPU combo as soon as I can swing the financing, and they are available.
One last thing to consider about the GPU, and waiting, is that even if you can't get a new 6000 series GPU in the next month or two, the 5700xt prices will probably go down in a month or two, due to both the Nvidia and AMD releases. So even if it turns out that you can't get a new generation GPU, the 5700 one may be cheaper then.
When you do your build, if you want some help on configuring the memory to have it be faster than default settings such as XMP, let me know, I've figured it out and have it working great the last year or so. It's not hard to do, just run a few utilities and get the correct timing numbers and put them in manually in the system BIOS.
Good luck!