I'm in the U.S. (not Canada), but I'll throw in what I can since this has not received any answers yet. I can't imagine any setup where paying cash is a best practice. At least on the surface, it sounds like you're effectively paying these workers under the table (no payroll filings, no withholding, no verifiable proof of payment, etc.)
In the U.S., you are not required to do payroll filings and tax withholding for "independent contractors". But if they are paid over $600 during the year, you are required to file a 1099 form showing what they were paid. It's always best for this to be done through some means that could be verified (check, wire transfer, etc.) in case you were to be audited or there was some dispute on the amount paid from the contractor.
Employees have much stricter requirements with (usually) monthly, quarterly, and annual tax filings - along with withholding and remittance to the government.
I'd suggest you get in touch with a CPA and payroll expert to ensure this is handled properly.