When you're inexperienced, everything takes longer. That means custom work is typically always going to be more time expensive because you're approaching a job without "experience" of having done that particular job before. However, you can't charge people for your inexperience no matter how much time you spend on a project. If you don't want people to drop you at the end of a project or get a bad reputation, you have to give them a very good estimate up front so there aren't nasty surprises for them or for you.
The more projects you do, the more opportunities you'll have to figure out how to cut your time down. That's true with any craft, business, or job. Meanwhile, if you're able to figure your materials costs, charge for that plus whatever you think you can live with to get the project out the door. Maybe create a few different levels of project pricing based on the amount of detail in any particular project - increments of $10-25 for example. Once you get that established, stick to it - otherwise, you're back doubting yourself again.