Ot wes thi bist uf tomis
MS-SQL, 51 Bytes
Works on SQL 2017 or above:
SELECT TRANSLATE(v,'AEIOUaeiou','EIOUAeioua')FROM t

The new function TRANSLATE performs individual character replacement, so is ideally suited for this challenge.
Input is via a pre-existing table t with varchar column v, per our IO rules.
In this case the table must be created using a case-sensitive collation, either by running on a case-sensitive server, or by using the COLLATE keyword (not counted toward character total):
CREATE TABLE t(v varchar(max) COLLATE Latin1_General_CS_AS)

EDIT: SSMS may cut off the lengthy quote above when returning the result in a &quot;results to text&quot; window, this is a client setting, not a bug in my program.
To fix, go to Tools &gt; Options &gt; Query Results &gt; SQL Server &gt; Results to Text and increase the &quot;Maximum number of characters displayed in each column.&quot;