This is a common problem and there's a few solutions. The one we've employed is making the primary group of the non-apache users, who need to access the files, (actually just 1 user, in our case) the same group as Apache - www-data in our case.
This means that files created by Apache and the user are both created with the www-data group and both has access to them.
The permissions that a file is created with is controlled by the umask on Linux. If your current umask does not allow group write to newly created files you can change it ala http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
Security is always a concern here, though if your users only have access to their own chrooted FTP account (I believe this is the default with a cpanel setup) you needn't worry. If they have SSH access, you may be concerned that all users can access the web files of other users. This is a fairly null concern given that the same behavior can usually be achieved with some code run through Apache on shared hosting environments.