Jay, your code is ok. If you do this slight change it will work exactly as you want:

Dim selCell1 As Range
    
Set selCell1 = Cells(2, 2)
             
With selCell1
    leftStyle = .Borders(xlEdgeLeft).LineStyle
    leftWeight = .Borders(xlEdgeLeft).Weight
    leftColor = .Borders(xlEdgeLeft).ColorIndex
    rightStyle = .Borders(xlEdgeRight).LineStyle
    rightWeight = .Borders(xlEdgeRight).Weight
    rightColor = .Borders(xlEdgeRight).ColorIndex
    
    .Borders(xlEdgeLeft).Weight = rightWeight
    .Borders(xlEdgeLeft).ColorIndex = rightColor
    .Borders(xlEdgeLeft).LineStyle = rightStyle
    .Borders(xlEdgeRight).Weight = leftWeight
    .Borders(xlEdgeRight).ColorIndex = leftColor
    .Borders(xlEdgeRight).LineStyle = leftStyle
End With
Here comes the explanation. Even when a cell has no border, it does have weight and color by default, generally a thin black line. So when you set the propertys of the cell to that, the border appears, even when the linestyle was set to show nothing. This is beacause there is a difference between it being a default setting and you setting it, even when it's done in code. So if you do set the weight and colorindex and set the linestyle after those, this won't be a problem. At least on my computer it isn't lol, works ok with that little change.
I hope that helps.