Here's what I do, I have my source code hosted on GitHub so it makes it easier for me.
Initial Release:
1. I set up the project on CurseForge:
https://wow.curseforge.com/addons/create
2. After creating the project, I go into the settings for the project and select the source option and select GitHub and fill in the address. Also on that screen I choose Package Tagged Commits.
3. I then follow the instructions on this page to set up GitHub to automatically push releases over to CurseForge.
https://www.curseforge.com/docs/packaging
4. Once I push an initial release to CurseForge, I manually download the zip file from files tab in the CursForge project. Pushing to CurseForge is simple as if you set everything up correctly, when you draft a new release on GitHub, it will automatically be pushed to CurseForge.
5. I then create the addon project here on wowinterface at
http://www.wowinterface.com/downloads/upload-update.php Select the main category for your addon in the Upload New Interface/Addon box and then it will move you to a screen where you can enter all the data and upload the file.
Note: Make sure you have a picture of the addon to include on both websites, as they are required for approval. (at least on Curse)
CurseForge you put the picture as the Image/Logo in the project settings and on WoWInterface you add it to the attachments section when you are creating the addon.
New Versions:
For new versions of released addons, I just draft a release on github, and then pull the zip from curse and upload it to wowinterface.