What do you mean by "witness"? i thought "witness" is available only in case of mirroring and logshipping.
If you meant having publisher and distributor on the same box, then following are the cons:-
1. Added load on the server, whenever sp_replcmds is fired to find out transactions to be replicated.
2. If one of your subscribers goes offline and you have a large time-to-live limit specified for the data,
then you will end up with big distribution database, which will eat up your disk space.
Hope that helped 🙂