This is ugly, but my attempts to produce a more elegant solution didn't work out so well.
Please note that this assumes that DATEPART(dw, @someVarThatIsSunday) returns 1. See Set DateFirst for more info.
declare @dayofweek int
set @dayofweek = 3
declare @initialDate datetime
set @initialDate = getdate()
declare @increment int
select @increment =
case DATEPART(dw, @initialDate)
when 1 then @dayofweek
when 2 then @dayofweek + 6
when 3 then @dayofweek + 5
when 4 then @dayofweek + 4
when 5 then @dayofweek + 3
when 6 then @dayofweek + 2
when 7 then @dayofweek + 1
end
if @increment > 7
begin
set @increment = @increment - 7
end
select DATEADD(day, @increment, @initialDate)