Freescan is the best for the initial setup (programming it), ProScan is the best for monitoring it.
Proscan you can stream and control your scanner from any other computer in real time, it is like having a 2nd bcd996xt, Has some of the best recording options, also it will stream to RadioReference with tags, also you can have it setup a small website were you can listen to your scanner on your phone, and retrieve all your recordings.
Freescan is completely free (with no registration needed, just download and enjoy). There is an option on the Freescan website to donate to the author if you choose to do so (I did), but the program never pesters you. Freescan is easy to use and can handle all your programming needs.
Butel's ARC-XT is good commercial programming software (I think it costs around $40, but they do have a free trial so you can try it first). It is a nice program and in some ways is a bit more refined, but I personally don't believe it does enough purchasing it when Freescan does everything I need. Many people do prefer it though so its worth giving it a try so you can decide for yourself.
ProScan is nice software and has some very nice features for remote monitoring, etc. If those features are something you would use then it is definitely worth a try (the free trial at least).