I've got granite counters with your basic top mounted soap dispenser. It really takes a half hour to get all of the soap into it. Unscrewing it is a HUGE pain and is faster but messy. Any way to make this process quicker?
Get a plastic funnel and glue a drinking straw to the inside of the spout. This will let the air out while it fills.
Or, buy another under-sink bottle. You can fill that bottle quickly, then turn it upside down and put it in the hole. Just let it sit until empty.