Ordering homepage posts by date, but give customized ordering option in CP
For me this looks like a perfect fit for one structure with different entry types for each of your content types (text, video and recipes). Each entry type can have it's own set of fields, so there's no difference to individual channels (with one entry type each).

You can simply have the entry type's handle in your URIs, as the {type} tag is available in section URL settings (→ see help article), or you'd set up custom dynamic routes.

Via the entry's entry.type property you can include individual template partials for each entry type on your index page:

{% for entry in craft.entries.section('blog') %}
    &lt;li&gt;
        &lt;h2&gt;{{ entry.title }}&lt;/h2&gt;
        {% include '/blog/_partials/' ~ entry.type %}
    &lt;/li&gt;
{% endfor %}


Same for your _entry.html file:

{% include '/blog/' ~ entry.type %}


And I've heard that structures with many hundreds or thousands of entries is no problem for the control panel. I think it was Craft 2.0 that had many optimizations in that respect.