Для начала разберёмся, что такое щи и какими они бывают.
Собственно, щей известно два вида - щи, как суп и щи, как напиток - так называемые "кислые щи".
Напиток нас не интересует вовсе, там капуста никак не фигурирует, потому рассмотрим только щи, как суп.
Таких вариантов тоже два - щи, которые варят с добавлением капусты и другие - без капусты вовсе (например, с добавлением щавеля, крапивы и пр.)
Нас опять таки интересуют щи с добавлением в них капусты. Таких щей тоже два вида - с добавлением свежей капусты и с добавлением квашеной капусты.
Таким образом, если мы хотим сказать, что в наших щах есть именно капуста, можно сказать - "щи с капустой", или "щи из капусты", что будет вполне информативно в противовес всем другим щам, капусту не содержащим.
Если же мы хотим дифференцировать, какая именно капуста пошла на щи - свежая, или квашеная, тут уже нужна семантическая осторожность.
Правильно будет сказать "щи из свежей капусты" в противовес "щам из квашенной капусты", ибо семантически "щи со свежей капустой" предполагают, что она в конечном блюде будет именно свежей, а это не совсем так, ибо она там будет варёной. А вот салат, допустим, из огурцов со свежей капустой, именно такую, т.е. свежую, и предполагает в наличии в конечном блюде.