It would help to know what you developed the sites in. Are they just basic HTML/CSS or do they use some type of script like Wordpress?
Either way, it's not "inefficient" to put multiple sites under one hosting account. Quite the opposite. I'd say it's pretty typical and efficient. When a client wants someone else to take over the site you zip up all the files in their directory, export their data from MySQL and they take the site somewhere else. But you are correct that you shouldn't be giving strangers your FTP credentials if they give access to other sites.
If you want to continue to host the site, but let someone else take over development – it sounds like you're on shared hosting. Most hosts have what's called a reseller account available that lets you have multiple accounts under a master account. That would give them their own FTP login and (CPanel?) control panel for things like MySQL access.
However, personally, I wouldn't relinquish control of the sites. Let's just say the sites are Wordpress sites. Wordpress has to be updated all the time. Not updating it can cause pretty big problems. I personally wouldn't give up my ability to make sure all the versions of Wordpress on my server were up-to-date. But then again, you're on shared hosting, not a dedicated server, so you just gotta accept a certain level of risk.