Is inserting into an ordered array by swapping has downsides compared to inserting into a position and offsetting elements
Both work.  Both approaches are approximately equivalent, in some sense.  However, your approach will do about twice as much work.

Think about an array that initially contains $[2,4,6,8,0]$ where the $0$ is the final empty element that can be filled in.  Imagine you want to insert the number $5$.


The standard method will read $8$ from index $3$, then write $8$ to index $4$, yielding $[2,4,6,8,8]$; then read $6$ from index $2$ and write $6$ to index $3$, yielding $[2,4,6,6,8]$; then write $5$ to index $2$, yielding $[2,4,5,6,8]$.  That's 2 reads and 3 writes -- 5 memory operations.
Your method will swap $8$ and $0$, yielding $[2,4,6,0,8]$ (this involves reading $8$ from index $3$, reading $0$ from index $4$, writing $8$ to index $4$, writing $0$ to index $3$); then swap $6$ and $0$, yielding $[2,4,0,6,8]$; then overwrite the $0$ with $5$.  Each swap requires 2 reads and 2 writes, so this does a total of 4 reads and 5 writes -- 9 memory operations. That's about twice as much.


Why is your method slower?  Because your method keeps reading the $0$ and writing it somewhere.  That is extra, unnecessary work.  If you care about optimization, that might matter.  If you just want a method that you can understand, either one should be fine.