Why would anyone choose 3DES over AES in software? I'm well aware of what NIST and PCI say about the usage of 3DES and its deprecation/disallowance and I also know that AES is the actual recommended standard for software and hardware encryptions.

I'm seeing many companies still choosing 3DES when they could simply go with the most obvious choice: AES. Why do you think that is? Is there any technical reason why someone could choose 3DES over AES?
In my opinion, there are no reason to choose 3DES over AES, ever.

Especially if it is in software, since 3DES performances have always been terrible. Furthermore, most CPUs ship with AES accelerators nowadays, which means that AES is even faster. 

But, sadly, change management is hard, certain smart card or hardware module do not support AES, but support 3DES... so if you can avoid changing your hardware, you might just keep going with 3DES, as it is not practically broken.

Also, most software development team do not have a cryptography enthusiast / a cryptographer and might just be continuing to use the good old algorithm they are used to, or that their system is based on. Not necessarily a good reason, but change is hard, especially when it comes to software, so most of the time, people prefer to avoid any change that would prevent backwards compatibility or any other such things.

Notice that nowadays, you can still find two-key 3DES out there, for these exact same reasons!

On the theoretical side, 3DES features 64 bits blocks, thus it is not suited for today high throughput data transfer protocols, since it could lead to block collisions, while AES is safe on that side with its 128 bits blocks.

On that topic, I refer you to one of my answers for more details on whether or not 3DES is safe.