I suppose with "Splunk Cloud" you're referring to the Splunk SaaS service. Then your data leaves your network and passes on to the Internet. I would carefully consider about the security implications. If every server has a forwarder connecting directly to the cloud, you need to open up a lot of holes in your firewall and it's difficult to control the traffic flow. Best practice (from my point of view) is having a forwarder (or pair of, if redundancy matters) at the edge of your network (maybe in a dedicated DMZ zone), used as intermediate between your network and the cloud. Allows you to isolate the servers in your network from the Internet (and vice versa). I wouldn't allow internal machines to directly open connections out of the network.
Having forwarders on each server might be more reliable. As an example, transporting data via forwarders is more reliable then sending them over UDP syslog or polling them via WMI. Thus I would consider deploying universal forwarders on each server, let them forward to the heavy (intermediate) forwarders at the edge of your network and send to the cloud from there. The intermediates could also be used as deployment server to keep the configuration of all the universal forwarders in sync.
... View more