Optimizing the current custom theme is likely to cost you more time and money than having someone develop a brand new theme for you, and it is also likely that you'll end up with a better end result starting from scratch than you would trying to retrofit an old theme. The reason is simple - trying to identify all the moving parts and adapt little pieces takes longer than just identifying clearly what functionality is needed and coding it with current standards. I've been through this process several times myself (like Alan, I'm a longtime WP developer) and every time significant changes were needed, starting from scratch was easier, faster, and less expensive for the client.
If money is not an issue, coding a custom theme and maintaining it over time is the best way to ensure that your overall, sitewide HTML, JS, CSS are as SEO-friendly as possible - for the reason Alan mentioned, which is that you can output only the code that your particular site needs. Standards change over time, as does browser support. HTML generally stays pretty backwards-compatible, but JS in particular is notorious for eventually not working. With a 2013 theme I'd suspect you may not be using HTML5, which in itself is a big improvement to making your data more structured.
Lighterweight code is good for human visitors as well as spiders. Humans have limited patience, so if your site is loading slowly, they'll tend to get frustrated and leave. It's good for spiders, too, because with much less code there's much less to have to analyze on the page - they can mostly go straight to your content and interpret it, rather than loading this and that JS file, divs nested 5 layers deep, that sort of thing. You can also build in a competitive edge if you use a custom theme because you know exactly what type of Schema.org markup would apply best to your content. For real estate listings in particular, I'd expect many in your industry to be using prebuilt themes. If you can show the same type of data but in a structured way - to make it super easy for Google to determine "Oh, this is a realty listing; here's the list price, here's the square footage, here's the address" - you have an edge over your competition.
On the other hand, this is a lot of custom code. If you do not have the money to have a developer continually update - at a minimum, I'd say every 18 months you'll want to have someone dive deep into the code and make updates based on WP Core's updates, along with HTML, CSS, and JS improvements that have become possible over that timeframe - if you can't afford that, then you should go with a child theme.
The child theme gives you the benefit of a code base that will be continually updated, while still allowing your site to look and feel different than all the other sites who are using that same parent theme. So it's basically the low-budget alternative. Do note that since your plugins have been customized, you really need to have a developer set up a new site from scratch, use non-customized plugins, and do the custom work in the child theme. That way you will not be sitting on a time bomb. Customized plugins are a problem because you then no longer receive security updates, and it makes your site much more vulnerable to attack.
I would say that the child theme approach is better than trying to adapt your current custom theme, because your codebase will be more up-to-date than if you just do a huge redesign every 5 years. But as for pure SEO value, nothing will beat a well-coded custom theme. In my experience, updating the codebase does make a tangible ranking difference. This is because spiders reward site updates (even the code behind the content is recognized and seen as an update) as it shows you are continuing to invest effort into your site; they'll be better able to understand the structure of your content as you use more up-to-date coding practices; and usually, updating means a better user experience, faster loading times, and better mobile friendliness, each of which is a ranking factor.